0
0
DSA Cprogramming~20 mins

Rat in a Maze Problem in DSA C - Practice Problems & Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
Maze Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
Predict Output
intermediate
2:00remaining
Output of Rat Path in a 4x4 Maze
What is the output path of the rat in the maze after running the given code? The rat starts at (0,0) and can move only right or down through cells with value 1.
DSA C
int maze[4][4] = {
  {1, 0, 0, 0},
  {1, 1, 0, 1},
  {0, 1, 0, 0},
  {1, 1, 1, 1}
};

int solution[4][4] = {0};

int solveMaze(int maze[4][4], int x, int y, int solution[4][4]) {
  if (x == 3 && y == 3 && maze[x][y] == 1) {
    solution[x][y] = 1;
    return 1;
  }
  if (x >= 0 && y >= 0 && x < 4 && y < 4 && maze[x][y] == 1) {
    solution[x][y] = 1;
    if (solveMaze(maze, x + 1, y, solution))
      return 1;
    if (solveMaze(maze, x, y + 1, solution))
      return 1;
    solution[x][y] = 0;
    return 0;
  }
  return 0;
}

int main() {
  if (solveMaze(maze, 0, 0, solution)) {
    for (int i = 0; i < 4; i++) {
      for (int j = 0; j < 4; j++) {
        printf("%d ", solution[i][j]);
      }
      printf("\n");
    }
  } else {
    printf("No path found\n");
  }
  return 0;
}
A[[1,0,0,0],[1,1,0,1],[0,1,0,0],[1,1,1,1]]
B[[1,0,0,0],[1,0,0,0],[0,1,0,0],[1,1,1,1]]
C[[1,0,0,0],[1,1,0,0],[0,1,0,0],[0,1,1,1]]
D[[1,0,0,0],[0,1,0,0],[0,1,0,0],[1,1,1,1]]
Attempts:
2 left
💡 Hint
Trace the path by moving only right or down through cells with value 1.
🧠 Conceptual
intermediate
1:30remaining
Understanding Rat Movement Constraints
In the Rat in a Maze problem, if the rat can move only right and down, which of the following statements is true about the possible paths?
AThe rat can only reach cells that are connected through a path of 1s moving right or down.
BThe rat can move diagonally to reach the destination faster.
CThe rat can reach any cell in the maze regardless of obstacles.
DThe rat can move left and up to backtrack and find alternative paths.
Attempts:
2 left
💡 Hint
Consider the allowed moves and the maze layout.
🔧 Debug
advanced
2:00remaining
Identify the Bug in Maze Solver Code
What error will occur when running this code snippet for the Rat in a Maze problem?
DSA C
int solveMaze(int maze[4][4], int x, int y, int solution[4][4]) {
  if (x == 3 && y == 3 && maze[x][y] == 1) {
    solution[x][y] = 1;
    return 1;
  }
  if (x >= 0 && y >= 0 && x < 4 && y < 4 && maze[x][y] == 1) {
    solution[x][y] = 1;
    if (solveMaze(maze, x + 1, y, solution))
      return 1;
    if (solveMaze(maze, x, y + 1, solution))
      return 1;
    solution[x][y] = 0;
    return 0;
  }
  return 0;
}
AStack overflow due to infinite recursion
BNo error, code runs correctly
CCompilation error due to missing return statement
DRuntime error due to accessing invalid array index
Attempts:
2 left
💡 Hint
Check if the code backtracks properly when a path is invalid.
🚀 Application
advanced
1:30remaining
Number of Paths in a Maze with Obstacles
Given a 3x3 maze where 1 represents open path and 0 represents obstacle: int maze[3][3] = { {1, 1, 0}, {1, 1, 1}, {0, 1, 1} }; How many unique paths exist from top-left (0,0) to bottom-right (2,2) moving only right or down?
A5
B2
C4
D3
Attempts:
2 left
💡 Hint
Count all paths moving right/down avoiding zeros.
🧠 Conceptual
expert
2:00remaining
Time Complexity of Rat in a Maze Backtracking Algorithm
What is the worst-case time complexity of the backtracking solution for the Rat in a Maze problem on an N x N maze?
AO(2N)
BO(2^(N^2))
CO(N!)
DO(N^2)
Attempts:
2 left
💡 Hint
Consider that each cell can be either part of the path or not, and the rat can move in two directions.