
Concept explainers
You are given a N*N maze with a rat placed at maze[0][0]. Find whether any path exist that rat can follow to reach its destination i.e. maze[N-1][N-1]. Rat can move in any direction ( left, right, up and down).
Value of every cell in the maze can either be 0 or 1. Cells with value 0 are blocked means rat cannot enter into those cells and those with value 1 are open.
Input Format
Line 1: Integer N
Next N Lines: Each line will contain ith row elements (separated by space)
Output Format :
The output line contains true if any path exists for the rat to reach its destination otherwise print false.
Sample Input 1 :
3
1 0 1
1 0 1
1 1 1
Sample Output 1 :
true
Sample Input 2 :
3
1 0 1
1 0 1
0 1 1
Sample Output 2 :
false
Solution: ////
public class Solution {
public static boolean ratInAMaze(int maze[][]){
int n = maze.length;
int path[][] = new int[n][n];
return solveMaze(maze, 0, 0, path);
}
public static boolean solveMaze(int[][] maze, int i, int j, int[][] path) {
// Checking if the current cell which we are going to traverse is a valid cell or not?
if (i < 0 || i >= maze.length || j < 0 || j >= maze.length || maze[i][j] == 0 || path[i][j] == 1) {
return false;
}
// Including the current cell to be in path[i][j]
path[i][j] = 1;
// Checking if the current cell is destination cell or not
if (i == maze.length - 1 && j == maze.length - 1) {
// printing the path before returning
return true;
}
// Explore further the maze in all direction
// Top Direction
if (solveMaze(maze, i - 1, j, path)) {
return true;
}
// Right Direction
if (solveMaze(maze, i, j + 1, path)) {
return true;
}
// Bottom Direction
if (solveMaze(maze, i + 1, j, path)) {
return true;
}
// Left Direction.

Step by stepSolved in 4 steps with 1 images

- Tennis is a racket sport that is played by two opposing players on S sets. Each set consists of at least Kgames. A set is won by a player if that player wins at least K games and at least 2 games more than theopponent. Once a set is won, the set is ended and the match continues to a new set (if any) where bothplayers start from 0 game won for that new set.For example, let K = 6, then a set can be ended with any of the following.• P1 (Player 1) wins 6 games while P2 (Player 2) wins 3 games → P1 wins the set.• P1 wins 7 games while P2 wins 9 games → P2 wins the set.On the other hand, a set cannot be ended with any of the following.• P1 wins 6 games while P2 wins 5 games → no player wins at least 2 games more than the opponent.• P1 wins 0 game while P2 wins 5 games → no player wins K = 6 games.• P1 wins 7 games while P2 wins 0 games → the set is already ended when P1 won the first 6 games.• P1 wins 8 games while P2 wins 5 games → the set must already be ended before it reaches this…arrow_forwardBum 0; for (int i = 1; iarrow_forwardLet S be a set of n distinct positive integers, where n is odd. The median of S is the (n+1)/2th smallest number of this set - i.e., the number in the middle of the set once the set is sorted. For example, if S = [70, 10, 20, 60, 30], then the sorted set is [10, 20, 30, 60, 70], from which we see that the median is 30. There is an obvious linearithmic algorithm to determine the median of S. First you sort the set, which takes O(n log n) time. Then you output the value of S[(n+1)/2}, which takes O(1) time. But is this the best we can do? Here is a bold claim: there is an O(n) algorithm to determine the median of set S. Determine whether the above claim is TRUE or FALSE.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





