Question: Write a function void solveMaze (vector maze, int x, int y) {} that takes in a maze and the end destination and the output has

Write a function void solveMaze (vector<vector<int>> maze, int x, int y) {} that takes in a maze and the end destination and the output has to print the coordinate path of the solved maze.

You will use a stack to solve a maze. The input is an array of is and Os and the row and column of the destination. 1 means that the block can be used for a path to the destination and 0 means it cannot. The beginning of the path is 0, 0. The output is the series of coordinates (row, column) of the path to the destination. Your code will be checked to ensure that you used a stack.

The path can proceed up, down, left or right but not diagonally.

The main method will read in the input and place it into an array. It will pass the array and the destination into a method called solve Maze. You write the method solve Maze.

Sample Input 1:
1 0 1 1
1 1 1 0
0 1 0 1
1 1 1 1
23

Sample Output 1:
(0, 0) -> (1, 0) -> (1, 1) -> (2, 1) -> (3, 1) -> (3, 2) -> (3, 3) -> (2, 3)

Step by Step Solution

3.34 Rating (154 Votes )

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock

To solve the maze using a stack you need to employ a depthfirst search DFS technique The goal is to start from the topleft corner of the matrix 0 0 and find a path to the destination coordinates using ... View full answer

blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Document Format (2 attachments)

PDF file Icon

609af12036e2d_31149.pdf

180 KBs PDF File

Word file Icon

609af12036e2d_31149.docx

120 KBs Word File

Students Have Also Explored These Related Programming Questions!