在网上天天划水刷面经,见到 teaser 就记下来。
我的想法是,把 8L 倒入 3L,把 3L 倒入 5L,把 8L 倒入 3L,把 3L 倒入 5L,这时候三个瓶子分别有 1L(8L) 2L(3L) 5L(5L) 括号里面表示瓶子最开始的容量。这时候把 1L 水倒掉,把容积为 8L 的瓶子里面的 2L 水倒到 容积为 3L 的瓶子里面,再把容积为 5L 的瓶子里面的 5L 水倒到 3L 瓶子里面直到满了。这样 5L 瓶子里面剩了 4L 水
bonus
-
最小化操作次数的构造方案
-
8 5 3 4 变成 a b c d 了怎么做?5 3 变成 \(a_1... a_n\) 了怎么做