About River Crossing
The River Crossing riddle is at least twelve hundred years old. It appears in a collection of problems written for students in the court of Charlemagne, and it has been told in dozens of versions since. A farmer must take a wolf, a goat and a cabbage across a river. The boat is small. The passengers do not get along.
How it works
Everyone begins on the left bank. Choose who to take, then row. After each crossing the game checks the bank the farmer has just left. If a forbidden pair has been left alone, the attempt ends. Get all three to the right bank and you have solved it. The crossing counter shows how many trips you needed, and the fewest possible is seven.
Thinking it through
If you have never met the puzzle, try it before reading on.
The first move is forced. Take the wolf, and the goat eats the cabbage. Take the cabbage, and the wolf eats the goat. So the goat goes first, and the wolf and cabbage, who have no interest in each other, wait behind.
The second step is easy: row back alone.
The third is where people get stuck. Whichever passenger you bring over next will be left with the goat when you go back for the last one. That seems impossible, until you notice that nothing says the boat must return empty. Bring the goat back with you.
That is the whole secret. Something you have already moved can be moved again. With the goat back on the left, take the other passenger across, leave it with the first, and make a final trip for the goat.
There are two solutions, depending on whether the wolf or the cabbage crosses second. As HTML5 games go it is over in a minute, but the idea of undoing a step to make progress stays with you.