Rat In A Maze
Problem Link: https://practice.geeksforgeeks.org/problems/rat-in-a-maze-problem/1
class Solution:
def findPath(self, arr, n):
# code here
ans=[]
visited=[[False for i in range(n)] for j in range(n)]
def recursion(curri,currj,desti,destj,visited,string):
if(curri==desti and currj==destj):
ans.append(string)
return
if(curri<0 or curri>=n or currj<0 or currj>=n or visited[curri][currj]==True or arr[curri][currj]==0):
return
visited[curri][currj]=True
recursion(curri+1,currj,desti,destj,visited,string+"D")
visited[curri][currj]=False
visited[curri][currj]=True
recursion(curri,currj+1,desti,destj,visited,string+"R")
visited[curri][currj]=False
visited[curri][currj]=True
recursion(curri-1,currj,desti,destj,visited,string+"U")
visited[curri][currj]=False
visited[curri][currj]=True
recursion(curri,currj-1,desti,destj,visited,string+"L")
visited[curri][currj]=False
if(arr[0][0]==0 or arr[n-1][n-1]==0):
return []
recursion(0,0,n-1,n-1,visited,"")
return ans
Last updated