Permutation and maze generator are really useful algorithm. Do you know that you can use a modified maze generator code to solve path-finding? And you see in the code permutation is used to randomize the path.
I'm thinking of entering the competition with this. Less fish. More ninja!
VVVV
\^v^/
yes. I did. Nothing to it but to throw dozens of algorithm and see which ones are good. :p
It helps if you can think algo in your head without using a computer.