A maze-solving application:
Write an application that finds the shortest path through a maze and reports this shortest path to the user. Your application must:
* Ask the user for the name of a file that contains the maze description.
* Read the maze description from the file.
* Compute the shortest path (any shortest path) through the maze.
* Display four pieces of information for the user:
o The row and column number of the start point in the maze.
o The row and column number of the end point in the maze.
o The number of steps in the shortest path in the maze.
o The exact steps required to move from the start point to the end point (along a shortest path).
You will need the following details:
Maze file format
Mazes will be described by the data in a text file. The data will have this exact form:
The first line of the text file will have two integers on it. The first integer represents the width of the maze (number of columns), the second integer represents the height of the maze (number of rows).
The next lines of the maze will contain a single 'word', or sequence of non-whitespace characters. These characters describe the maze one row at a time. There will be one line for each row in the maze. The characters have the following meaning:
# A wall square. This space is impassable.
- An empty square. You can move through these spaces.
S The start square. (Treat it as an empty square.)
E The end square. (Treat it as an empty square.)
Here are a few sample maze files:
Example maze #1:
5 4
#####
S--##
##--E
#####
Example maze #2:
6 6
------
#--#--
--##--
---#-#
--E#S-
------
Your program must display the following information for the user:
* The row and column number of the start point in the maze. The upper-left hand corner character of the maze is at row 0, column 0. Your message should be user friendly. For maze example #1, you might print: "The start point is at row 1, column 0."
* The row and column number of the end point in the maze. The upper-left hand corner character of the maze is at row 0, column 0. Your message should be user friendly. For maze example #2, you might print: "The end point is at row 4, column 2."
* The number of steps in the shortest path in the maze. Again, your message should be user friendly. For maze example #, you might print: "The shortest path through the maze takes 4 steps."
If there is no path through the maze, you should print: "There is no path through this maze."
* The exact steps required to move from the start point to the end point (along a shortest path). Print this in a compact form. Use single uppercase characters for each direction, and don't put spaces in the path. For maze example #2, you would print: "The shortest path is: SWWN."
Could someone at least help me get started. Thank You

