You have 3 identical bottles with a capacity of 4 litres:
- The first bottle contains 2 litres of liquid A
- The second bottle contains 3 litres of liquid B
- The third bottle contains 4 litres of liquid C
Each turn you can take a bottle and pour its contents into another bottle until either the source bottle is empty or the target bottle is full. As you do this, the liquids in the target bottle will mix evenly. This process can be repeated as long as you need. Is there a way that you can get one bottle to contain an equal and non-zero amount of each of the three liquids? If not, then how close can you get to it?
Here is a detailed example (optional to read):
From the starting state you cannot pour the first bottle into the third bottle as the third bottle is already full. However, you can go the other way - pour 2 litres of the third bottle into the first bottle. This will lead to the first bottle being a mixture of 2 litres of liquid A and 2 litres of liquid C, while the third bottle will just have 2 litres of liquid C left. Now, if you pour the first bottle back into the third bottle then the first bottle will have 1 litre of liquid A and 1 litre of liquid C, while the third bottle will have 1 litre of liquid A and 3 litres of liquid C. We can describe the transformations as follows:
Original state is (2, 0, 0), (0, 3, 0), (0, 0, 4)
3->1 leads to the state (2, 0, 2), (0, 3, 0), (0, 0, 2).
1->3 leads to the state (1, 0, 1), (0, 3, 0), (1, 0, 3).