嗨小郑,谢邀!我还没刷到迷宫类问题,我就从DFS角度讲一下:它是回溯算法中的一个特点:状态重置。dfs就是从一个点开始不断回溯寻找下一个位置,当找到目标位置或者不满足条件时就要回退到上一个位置往其他位置寻找,当这个位置也不满足条件时需要继续回退,以此类推。如果不将point改成0的话当找到当走完一个位置是point数组全都标记成1了,无法继续寻找。等我给你弄个gif
请问一下,我的代码错在哪里了
N ,M ,T =map(int,input().split())
dianzhen =[]
for i in range(1,N+1):
for j in range(1,M+1):
dianzhen.append((i,j))
x0, y0, x1 ,y1 = map(int,input().split())
obstacle = []
for i in range(T):
x, y =map(int,input().split())
obstacle.append((x,y))
n = 0
Flag = True
def shensou(a, b):
if a == x1 and b == y1:
global n,Flag
n += 1
Flag = False
print(n)
if Flag:
if (a,b) in dianzhen not in obstacle:
for x,y in (0,1),(1,0),(0,-1),(-1,0):
a +=x
b +=y
shensou(a,b)
a -= x
b -= y
shensou(x0,y0)
print(n)