题目背景
给定一个N*M方格的迷宫,迷宫里有T处障碍,障碍处不可通过。给定起点坐标和终点坐标,问: 每个方格最多经过1次,有多少种从起点坐标到终点坐标的方案。在迷宫中移动有上下左右四种方式,每次只能移动一个方格。数据保证起点上没有障碍。
题目描述
无
输入格式
第一行N、M和T,N为行,M为列,T为障碍总数。第二行起点坐标SX,SY,终点坐标FX,FY。接下来T行,每行为障碍点的坐标。
输出格式
给定起点坐标和终点坐标,问每个方格最多经过1次,从起点坐标到终点坐标的方案总数。
输入输出样例
输入 #1复制
2 2 1
1 1 2 2
1 2
输出 #1复制
1
你这是回溯,需要状态重置噢。
在27,28行加上
a-= x
b-=y
试试
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):
global Flag
global n
if a == x1 and b == y1:
Flag = False
n += 1
return 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)
print(shensou(x0, y0))
请问我的答案错在哪里