蓝桥杯方格分割:注意需要回溯,mp[row][col]=0,mp[6-row][6-col]=0因为下一次还可能会用到该节点。
mp=[[0]*7 for _ in range(7)]
ans=0
def dfs(row,col):
global ans
if mp[row][col]==1:
return
if row==0 or col==0 or row==6 or col==6:
ans+=1
return
mp[row][col]=1
mp[6-row][6-col]=1
dfs(row-1,col)
dfs(row+1,col)
dfs(row,col+1)
dfs(row,col-1)
mp[row][col]=0
mp[6-row][6-col]=0
dfs(3,3)
print(ans//4)