One of Lewis Carroll's favorite puzzles to ask children was the one about the Fox, Goose, and Bag of Corn. It has to do with getting them all safely across a river.
The rules for this puzzle are:
- You must get the fox, goose, and bag of corn safely across the other side of the river
- You can only carry 1 item on the boat across with you.
- The fox cannot be left alone with the goose, (or it will be eaten).
- The goose cannot be left alone with the corn, (or it will be eaten).
The data structure to represent this puzzle is a vector of vectors.
The starting position is you, the fox, the goose, and corn on one side of the river. The boat is empty. The other river bank is empty.
[[[:fox :goose :corn :you] [:boat] ]]
You could take the corn on the boat with you
[[[:fox :goose :corn :you] [:boat] ] [[:fox :goose] [:boat :corn :you] ]]
But then the fox would eat the goose!
The goal is to have the plan in steps so that all make it safely to the other side
[[[:fox :goose :corn :you] [:boat] ] ... [[ [:boat] [:fox :goose :corn :you]]]]
- Clone or fork this repo
- Run the tests with
- Make the tests pass!
Once you have your kata solution, you are welcome to submit a link to your repo to share here in this section with others.
If you haven't solved your kata yet - Don't Peek!
Copyright © 2014 Carin Meier
Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.