Contest: Of Knights and Mazes
This week’s contest is to direct a chess knight around a maze. Your job is to find the exit by only using knight moves and by not moving over any walls. The knight must land on the exit to exit the maze. Rules

Implement the following function given the prototypes:
bool IsWall(int x, int y);
bool IsExit(int x, int y);
bool RunTheMaze()
{
// Knight always starts at 0,0
// Knight may not move over or land on a wall.
// Knight always moves in the 2x1 L pattern like a chess knight
// Knight must land on the exit to win
// Return true when you've found the exit or false if you can’t get there
// Make a good trade off between memory and performance
// Objective is to find the exit or determine you can't get it to it,
// not find the least number of moves to get there.
// You may use any collection classes you deem necessary
// ‘int’ is a 32-bit signed integer
}