典型的倒水问题: 即把两个水杯的每种状态视为bfs图中的点,如果两种状态可以转化,即可认为二者之间可以连一条边。 有3种倒水的方法,对应2个杯子,共有6种可能的状态转移方式。即相当于图中想走的方法有6种,依次枚举即可。 用一个二维数组标记状态,以免重复。 难点在于输出路径,即bfs回溯。 我的处理方 ...
分类:
其他好文 时间:
2019-12-07 17:55:26
阅读次数:
87
有两个杯子,一个杯子容量为3,另一个容量为5. 怎么倒水才能得到体积为4的水. 可以给一个杯子加满水、或倒光、或把一个杯子的水加到另一个杯子中. ...
分类:
编程语言 时间:
2019-08-22 00:32:30
阅读次数:
76
题意:还是倒水问题:给出三个瓶子容积为 A,B,C :A =B+C;然后问倒几次才能够使其中两个瓶子中水相同且平分已有的水。一开始A瓶被装满水 思路:像装水这种操作的问题就是模拟,而dfs能够解决最少操作问题(通过记录操作数) 完整代码: ...
分类:
其他好文 时间:
2019-07-29 14:45:05
阅读次数:
110
倒水问题 有两个容器,容积分别为a升和b升,有无限多的水,现在需要c升水。 问能否通过有限次的倒水操作,得到c升水? 解析 这类题有一个套路,小容量的杯子不断往大杯子里面倒水,大杯子满了之后就把大杯子全倒掉。先举个简单的例子,比如:3升和5升的杯子,得到4升水,下面步骤中的第一个数字表示3升杯子中的 ...
分类:
其他好文 时间:
2019-01-16 12:02:18
阅读次数:
281
题目链接 https://cn.vjudge.net/problem/UVA 571 分析 刚做了道倒水问题的题想看看能不能水二倍经验,结果发现了这道题 题意翻译:https://www.cnblogs.com/devymex/archive/2010/08/04/1792288.html 设A容量 ...
分类:
其他好文 时间:
2018-08-27 23:26:46
阅读次数:
376
题目链接 https://cn.vjudge.net/problem/UVA 10603 分析 经典的倒水问题,直接BFS. 对于喜闻乐见的状态判重,一开始想来个哈希函数把一个三元组映射成一个数,后面发现数据很小直接三维数组,后面又发现总水量是固定值,直接二维$bool$数组就好了 然后每次取出状态 ...
分类:
其他好文 时间:
2018-08-27 23:23:36
阅读次数:
275
有装满水的6升的杯子、空的3升杯子和1升杯子, 3个杯子中都没有刻度. 在不使用其他道具的情况下, 是否可以量出4升的水呢? 你的任务是解决一般性的问题:设大、中、小3个杯子的容量分别为a,b,c,最初只有大杯子装满水,其他两个杯子为空。最少需要多少步才能让某一个杯子中的水有x升呢?你需要打印出每步 ...
分类:
编程语言 时间:
2017-11-18 16:01:53
阅读次数:
240
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1495 题目大意:只有两个杯子,它们的容量分别是N 毫升和M 毫升 可乐的体积为S (S<101)毫升 (正好装满一瓶) ,它们三个之间可以相互倒可乐 (都是没有刻度的,且 S==N+M,101>S>0, ...
分类:
其他好文 时间:
2017-09-15 01:59:59
阅读次数:
159
题意:本题的题意是给你三个杯子,第一二个杯子是空的,第三个杯子装满水,要求是量出一定容量d升的水。若是得不到d升的水,那就让某一个杯子里面的水达到d‘,使得d'尽量接近d升。 解题思路:本题是给出初始状态,让你寻找一条通往目标的路径,此题也可看成是有向图中在起点和目标点之间寻找一条最短路径,但是这个 ...
分类:
其他好文 时间:
2017-08-13 11:06:51
阅读次数:
246
https://vjudge.net/problem/UVA-10603 题意: 倒水问题,输出最少的倒水量和目标水量 如果无解,目标水量就是尽可能接近给定点的目标水量,但不得大于给定的目标水量 推推公式,不用分类讨论~\(≧▽≦)/~啦啦啦 ...
分类:
其他好文 时间:
2017-08-03 16:54:46
阅读次数:
105