Write a program in either C++ or Java to solve the 8-puzzle problem using the breadth-first-search algorithm. The goal state of the puzzle is shown below.
The initial state should be entered from the input. Test your program with at least one easy initial state and one hard initial state.
Your output should show the number of steps it takes from the initial state of the puzzle to the goal state. Your solution should also include the action (or state) of each step. At the end of the program, you should output how long it takes for your program to find the goal and the number of states saved in the memory.
You may work alone or work in a team (maximum 3 people).
Submit the followings to Moodle (lms.manhattan.edu):
Readme.txt (Readme.doc) should contain the project number, team members, problem and algorithm description and input and output format. You should also include necessary explanations to any data structures or functions used in the code.
Zip package of source code and executable files. If you are using any C++ or Java IDE, zip the project folder and submit it to Moodle.