假定两个水壶 A 和 B,供水量不限。可以使用三种方法装水:
- 给一个水壶装水;
- 把一个水壶倒空;
- 从一个水壶倒进另一个水壶。
当从一个水壶倒进另一个水壶时,如果第一个水壶倒空,或者第二个水壶装满就不能再倒了。例如,一个水壶 A 是 5 加仑和另一个水壶 B 是 6 加仑,水量是 8 加仑,则从水壶 A 倒进水壶 B 时,让水壶 B 充满水而水壶 A 剩 3 加仑水。
问题有 3 个参数:C_a,C_b 和 N,分别表示水壶 A 和 B 的容量,目标水量 N。问题的目标是,给出一系列倒水的步骤,使水壶 B 中的水量恰好是 N。
如果有多种操作方案,请给出操作次数最少的任意一种方案。