作业帮 > 综合 > 作业

各位大神,麻烦给我解决一下这个分酒问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/14 05:00:12
各位大神,麻烦给我解决一下这个分酒问题
有4个红酒瓶子,它们的容量分别是:9升, 7升, 4升, 2升

开始的状态是 [9,0,0,0],也就是说:第一个瓶子满着,其它的都空着.
允许把酒从一个瓶子倒入另一个瓶子,但只能把一个瓶子倒满或把一个瓶子倒空,不能有中间状态.这样的一次倒酒动作称为1次操作.
假设瓶子的容量和初始状态不变,对于给定的目标状态,至少需要多少次操作才能实现?
本题就是要求你编程实现最小操作次数的计算.

输入:最终状态(逗号分隔)
输出:最小操作次数(如无法实现,则输出-1)
例如:
输入:
9,0,0,0
应该输出:
0
输入:
6,0,0,3
应该输出:
-1
输入:
7,2,0,0
应该输出:
2
可以没有代码,请给出详细解题思路即可.
9升的瓶子
再问: 什么?请给出解题思路