I - Pots -BFS
来源:互联网 发布:淘宝被扣24分还能用吗 编辑:程序博客网 时间:2024/06/06 17:55
两个空瓶,三种操作
一、把一个瓶子灌满
二、把一个瓶子清空
三、把一个瓶子里面的水灌到另一个瓶子里面去
BFS暴力
#include <cstdio>#include <cmath>#include <cstring>#include <string>#include <queue>#include <algorithm>#include <iostream>using namespace std;struct node{int me;int it;//int c_vol;int ope;int pare;int step;};int vis[105][105];int flag;queue <node> qq;int a,b,c;node ans[1000000];int ok=0;void bfs(){node start;start.me=0;start.it=0;start.ope=0;start.step=0;qq.push(start);while(!qq.empty()){node t=qq.front();qq.pop();if (vis[t.me][t.it]==1)continue;else{vis[t.me][t.it]=1;}if (t.me==c||t.it==c){flag=t.step; return ;} int i;for (i=1;i<=6;i++){node k=t;if (i==1&&k.me!=0){ k.ope=1; //me空k.me=0; }elseif(i==2&&k.it!=0){ k.ope=2; // it空k.it=0; }elseif (i==3&&k.me<a){ k.ope=3; //me满k.me=a; }elseif (i==4&&k.it<b){ k.ope=4; //it满k.it=b; }elseif (i==5&&k.me!=0&&k.it!=b){k.ope=5; //me to itif (k.it+k.me>=b){k.me-=(b-k.it);k.it=b;}else{k.it+=k.me;k.me=0;} }elseif (i==6&&k.it!=0&&k.me!=a){k.ope=6; //it to meif (k.it+k.me>=a){k.it-=a-k.me;k.me=a;}else{k.me+=k.it;k.it=0;} }elsecontinue;;k.pare=t.step;k.step=ok+1; //if (vis[k.me][k.it]==1)//continue;ans[++ok]=k; qq.push(k);}}}int put (node tmp){if (tmp.ope==1)printf("DROP(1)\n");if (tmp.ope==2)printf("DROP(2)\n");if (tmp.ope==3)printf("FILL(1)\n");if (tmp.ope==4)printf("FILL(2)\n");if (tmp.ope==5)printf("POUR(1,2)\n");if (tmp.ope==6)printf("POUR(2,1)\n");return 0;}int cun=0;int output(int stp){if (ans[stp].step==0){printf("%d\n",cun);return 0;}else{cun++;output( ans[stp].pare);put(ans[stp]);}}int main(){cin>>a>>b>>c;flag=0; memset(vis,0,sizeof(vis));bfs();if (!flag)printf("impossible\n");elseoutput(flag );return 0;}
0 0
- I - Pots -BFS
- Pots(bfs)
- (BFS)Pots
- Pots-BFS
- Pots(BFS)
- Pots --bfs
- POJ 3414 Pots BFS
- (BFS)3414 Pots
- POJ 3414 Pots(BFS)
- POJ 1324 Pots(BFS)
- poj 3414 Pots bfs
- pots(BFS)
- Pots——BFS
- Pots(BFS)
- SDUTOJ【2780】 pots---bfs
- poj 3414 Pots BFS
- poj 3414 Pots BFS
- POJ3414 Pots(BFS)
- HDU 3501 Calculation 2(欧拉函数)
- 杭电1873 看病要排队
- 结构体运用
- hdu 4444 Walk(预处理+暴力)
- HDOJ 5323 Solve this interesting problem BFS搜索
- I - Pots -BFS
- poj 2135 有流量限制的最小费用最大流
- Android获取图片资源的4种方式
- 生命,因为热爱所以敬畏
- CSU1660(深搜)
- iOS 开发一些小技巧(收集整理)
- POJ2425 A Chess Game(博弈)
- 初识JavaScript
- linux中没有dos2UNIX或者UNIX2dos命令怎么解决办法