def findRobotPath(grid):
if not grid or not grid[0]:
return []
r, c = len(grid), len(grid[0])
if grid[0][0] == 1 or grid[r-1][c-1] == 1:
return []
path = []
def dfs(i, j):
if i >= r or j >= c or grid[i][j] == 1:
return False
path.append((i, j))
if i == r - 1 and j == c - 1:
return True
grid[i][j] = 1
if dfs(i, j + 1) or dfs(i + 1, j):
return True
path.pop()
return False
if dfs(0, 0):
return path
else:
return []
grid = [
[0, 0, 0],
[0, 1, 0],
[0, 0, 0]
]
print(findRobotPath(grid))