NYOJ-21 三个水杯 AC
来源:互联网 发布:mysql dialect配置 编辑:程序博客网 时间:2024/04/27 18:04
人生中第一个AC的广搜题目,喵呜,C++的STL果真不错,
#include<stdio.h>#include<queue>#include<string.h> #include<windows.h>using namespace std;bool visited[100][100][100]; int a, b, c;struct Node{int a;int b;int c;int s;};Node water;Node cup;Node fish;Node dream;Node gb(Node key, int n){switch(n){case 0:key.b+=key.a;if(key.b>water.b){key.a=key.b-water.b;key.b=water.b;}else{key.a = 0;}break;case 1:key.c+=key.a;if(key.c>water.c){key.a=key.c-water.c;key.c=water.c;}else{key.a = 0;}break;case 2:key.c+=key.b;if(key.c>water.c){key.b=key.c-water.c;key.c=water.c;}else{key.b = 0;}break;case 3:key.a+=key.c;if(key.a>water.a){key.c=key.a-water.a;key.a=water.a;}else {key.c = 0;}break;case 4:key.a+=key.b;if(key.a>water.a){key.b=key.a-water.a;key.a=water.a;}else{key.b = 0;}break;case 5:key.b+=key.c;if(key.b>water.b){key.c=key.b-water.b;key.b=water.b;}else{key.c = 0;}break;}return key;}int main(){int i, sum, n;scanf("%d",&n);while(n--){queue<Node>num;scanf("%d%d%d",&water.a,&water.b,&water.c);scanf("%d%d%d",&fish.a,&fish.b,&fish.c);memset(visited, false, sizeof(visited)); cup.a = water.a;cup.b=0;cup.c=0;cup.s=0;visited[cup.a][0][0] = true;num.push(cup);while(!num.empty()){cup=num.front();if((cup.a==fish.a)&&(cup.b==fish.b))break;for(i=0;i<6;i++){dream=gb(cup,i);dream.s++;if(visited[dream.a][dream.b][dream.c] == false){num.push(dream); visited[dream.a][dream.b][dream.c] = true;}}num.pop();}if(num.empty()){printf("-1\n");}else{printf("%d\n",cup.s);}}return 0;}
若是对广搜的概念还是不懂的话,有道最好的入门题目,http://poj.org/problem?id=3278
大家加油
0 0
- NYOJ-21 三个水杯 AC
- nyoj 21 三个水杯
- NYOJ 21-三个水杯
- nyoj 21 三个水杯
- Nyoj 21 三个水杯
- NYOJ-21-三个水杯
- NYOJ-21 三个水杯
- NYOJ 21 三个水杯
- nyoj 21 三个水杯
- NYOJ 21 三个水杯
- NYOJ 21 三个水杯
- NYOJ --21--三个水杯
- NYOJ-21 三个水杯
- NYOJ 21 三个水杯
- NYOJ - 21 三个水杯
- NYOJ-21 三个水杯
- nyoj 21 三个水杯
- NYOJ 21-三个水杯
- c#中bin,obj,properties文件夹的作用
- eclipse的scala插件
- java-spring与mongodb的整合方式一 手动注入xml
- android 反编译
- 余额宝:马云的金蝉脱壳
- NYOJ-21 三个水杯 AC
- “csproj文件究竟是做什么用的”
- Linux启动过程(尚未完成)
- jquery 操作json数据
- 2014年2月8日 java编程思想 String字符串学习 面试题目回顾
- ViewPager设置 缓存个数、页卡间距、数据更新
- 微信eatbetter服务号开通(菜品,食材,营养素,食谱,菜谱,制作方法查询),欢迎大家测试
- dreamweaver实现图片超链接(点击图片按钮实现下载指定apk功能,可以用于在静态网页里做公司宣传页等)
- Caused by: java.lang.ClassNotFoundException: org.springframework.transaction.interceptor.Transaction