题解 | #机器人的运动范围#
机器人的运动范围
https://www.nowcoder.com/practice/6e5207314b5241fb83f2329e89fdecc8
class Solution:
def movingCount(self, threshold, rows, cols):
# write code here
if rows==0 or cols==0:
return 0
res =0
flag = [[0 for _ in range(cols)] for _ in range(rows)]
print(flag)
self.dfs(threshold,rows,cols,flag,0,0)
for i in range(rows):
for j in range(cols):
res += flag[i][j]
return res
def dfs(self,threshold,rows,cols,flag,i,j):
if i<0 or i>=rows or j<0 or j>=cols or flag[i][j]==1:
return
num = i//10 + i%10 +j//10 +j%10
if num <= threshold:
flag[i][j]=1
else:
return
self.dfs(threshold,rows,cols,flag,i-1,j)
self.dfs(threshold,rows,cols,flag,i+1,j)
self.dfs(threshold,rows,cols,flag,i,j-1)
self.dfs(threshold,rows,cols,flag,i,j+1)