经典不会做

倒水问题

给你一个装满水的 8 升满壶和两个分别是 5 升、3 升的空壶,请想个优雅的办法,使得其中一个水壶恰好装 4 升水,每一步的操作只能是倒空或倒满。

解法:可以把每次三个水壶中水的量组成一个状态,比如初始状态为008,对应第一个水壶0升水,第二个水壶0升水,第三个水壶8升水。对题目的状态空间图进行广度优先遍历。当表示状态的数字中出现4时,即求出答案。

posted @ 2021-03-11 09:12  Fake_coder  阅读(68)  评论(0编辑  收藏  举报