Maze
Time Limit: 10 Seconds Memory Limit: 32768 KB
Special Judge
In this maze, you have four possible moves: north, south, east, and west. Your task is to find the shortest sequence of moves that will guarantee your escape, regardless of your initial placement in the maze. You have "escaped" whenever you reach a square on an outside edge of the grid (and if you start there, then you've already escaped). Further moves are irrelevant once you have escaped. If you try to walk into a wall, you will simply stay in the same spot.
You may assume that it is possible to escape from every unblocked position in the maze.
Input
Input consists of a positive integer n <= 8, followed by n lines giving the rows of an n by n grid. This grid describes the maze you are trapped in. Written on the screen, north is up. Blocked locations are denoted by the character "O" (that's an uppercase "o"), while unblocked locations are indicated by the character ".".
Input contains multiple test cases. Process to the end of file.
Output
Output consists of a number of lines, each consisting of one of "north",
"south", "east", or "west", indicating the shortest
sequence of moves that guarantees escape for any possible unblocked starting
position.
If there are multiple possible shortest sequences, any one is acceptable.
Separate output for subsequent test cases with a single blank line.
Sample Input
4 OO.O ...O OO.. O..O
Sample Output
east northSubmit
Source: University of Waterloo Local Contest 1999.06.19