maze solving
Python code:
maze-solver.py
Key excerpt:
def solve(row,col):
# base cases
if (row,col) in visited: return False
visited.add((row,col))
if (row,col)==(targetRow,targetCol): return True
# recursive case
for drow,dcol in [NORTH,SOUTH,EAST,WEST]:
if isValid(data, row,col,(drow,dcol)):
if solve(row+drow,col+dcol): return True
visited.remove((row,col))
return False