博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三个水杯 (bfs)
阅读量:6692 次
发布时间:2019-06-25

本文共 984 字,大约阅读时间需要 3 分钟。

给出三个水杯,大小不一,并且只有最大的水杯的水是装满的,其余两个为空杯子。三个水杯之间相互倒水,并且水杯没有标识,只能根据给出的水杯体积来计算。现在要求你写出一个程序,使其输出使初始状态到达目标状态的最少次数。
 

Input

第一行一个整数N(0<N<50)表示N组测试数据
接下来每组测试数据有两行,第一行给出三个整数V1 V2 V3 (V1>V2>V3 V1<100 V3>0)表示三个水杯的体积。
第二行给出三个整数E1 E2 E3 (体积小于等于相应水杯体积)表示我们需要的最终状态
 

Output

每行输出相应测试数据最少的倒水次数。如果达不到目标状态输出-1
 

Sample Input

26 3 14 1 19 3 27 1 1

Sample Output

3-1
1 #include 
2 #include
3 #include
4 #include
5 #include
6 #include
7 #include
8 #include
9 #include
10 #include
11 #include
12 using namespace std; 13 14 int s1,s2,s3; 15 bool vis[103][103][103]; 16 17 struct node 18 { 19 int a,b,c; 20 int bu; 21 }x,y; 22 23 int bfs() 24 { 25 queue
q; 26 while(!q.empty()) 27 q.pop(); 28 q.push(x); 29 while(!q.empty()){ 30 node r=q.front(); 31 q.pop(); 32 vis[r.a][r.b][r.c]=true; 33 if(r.a==y.a&&r.b==y.b&&r.c==y.c) return r.bu; 34 35 if(0

 

转载于:https://www.cnblogs.com/wangmengmeng/p/5268083.html

你可能感兴趣的文章
C# extern 修饰符的用法
查看>>
Zabbix修正错误两例(只提供解决思路)
查看>>
Redhat6.X 配置HP3PAR7200存储多路径过程
查看>>
Java基础系列19:使用JXL或者POI生成和解析Excel文件
查看>>
使用xshell打开centos中文显示为乱码
查看>>
达内实习——数据库编程、文件读写数据
查看>>
zabbix 监控percona
查看>>
我的友情链接
查看>>
HA高可用集群基础概念和原理
查看>>
MySQL over函数的用法
查看>>
Linux命令(9):mkdir命令
查看>>
vmstat命令
查看>>
poj2245 Lotto
查看>>
我的友情链接
查看>>
Oracle版本升级
查看>>
sizeof 的使用(标记一下)
查看>>
第 四 十 天:关 于 正 则 的 一 些 小 用 法
查看>>
编程 -- awk
查看>>
2012 #3 Arcane Numbers
查看>>
python 列表模拟堆栰
查看>>