Combinatorics and Graph Theory


A Computer Program to Solve Water Jug Pouring Puzzles.

Authors: Richard J. Mathar

We provide a C++ program which searches for the smallest number of pouring steps that convert a set of jugs with fixed (integer) capacities and some initial known (integer) water contents into another state with some other prescribed water contents. Each step requires to pour one jug into another without spilling until either the source jug is empty or the drain jug is full-because the model assumes the jugs have irregular shape and no further marks. The program simply places the initial jug configuration at the root of the tree of state diagrams and deploys the branches (avoiding loops) recursively by generating all possible states from known states in one pouring step.

Comments: 33 Pages. Added more references and more explicit solutions in Version 2.

Download: PDF

Submission history

[v1] 2015-09-16 14:19:53
[v2] 2016-12-01 05:58:16

Unique-IP document downloads: 4516 times is a pre-print repository rather than a journal. Articles hosted may not yet have been verified by peer-review and should be treated as preliminary. In particular, anything that appears to include financial or legal advice or proposed medical treatments should be treated with due caution. will not be responsible for any consequences of actions that result from any form of use of any documents on this website.

Add your own feedback and questions here:
You are equally welcome to be positive or negative about any paper but please be polite. If you are being critical you must mention at least one specific error, otherwise your comment will be deleted as unhelpful.

comments powered by Disqus