假设有三个杯子A、B、C,它们的容量分别为8升、5升和3升。现在只有一个无限容量的水桶和水龙头,问如何利用这些工具,让杯子A先被倒满?
首先将杯子B中的水倒入杯子A中,此时杯子A中剩余容量为5升。然后将杯子C中的水倒入杯子B中,此时杯子B中剩余容量为2升。接着将杯子B中的水倒入杯子A中,此时杯子A中已经满了。
此时我们可以总结出一个规律:每次都将当前最满的杯子倒向下一个容量较小的杯子,直到目标杯子被倒满或没有更多的水可供倒入。
这个规律可以用来解决类似问题。如果有两个任意容量的杯子X、Y和一个无限容量的水桶,如何才能让其中一个被倒满?首先将其中一个空的杯子(假设是X)放在桶下面,然后将另一个(假设是Y)放在X上面。接着打开水龙头,让水流进Y里面。当Y装满后,把它里面的水倒入X中,直到X满了或者Y里面的水用完了。如果X还没有满,就再次打开水龙头,让Y里面装满水,然后继续倒入X中。重复这个过程直到X被倒满。
这个方法叫做“倒水法”,可以用来解决很多类似的问题。它的核心思想是利用不同容量的杯子之间的关系,通过倒水来达到目标。