shopee的办公室非常大,小虾同学的位置坐落在右上角,而大门却在左下角,可以把所有位置抽象为一个网格(门口的坐标为0,0),小虾同学很聪明,每次只向上,或者向右走,因为这样最容易接近目的地,但是小虾同学不想让自己的boss们看到自己经常在他们面前出没,或者迟到被发现。他决定研究一下如果他不通过boss们的位置,他可以有多少种走法?
第一行 x,y,n (0<x<=30, 0<y<=30, 0<=n<= 20) 表示x,y小虾的座位坐标,n 表示boss的数量( n <= 20)
接下来有n行, 表示boss们的坐标(0<xi<= x, 0<yi<=y,不会和小虾位置重合)
x1, y1
x2, y2
……
xn, yn
输出小虾有多少种走法
3 3 2 1 1 2 2
4
x , y , n = list(map(int , input().split())) Boss = [] data = [[1]*(y+1) for _ in range(x+1)] for i in range(n): Boss.append(list(map(int , input().split()))) for i in range(1 , x+1): for j in range(1 , y+1): if [i , j] in Boss: data[i][j] = 0 else: data[i][j] = data[i-1][j] + data[i][j-1] print(data[x][y])
x,y,n = map(int,input().split()) dpc = [[1 for j in range(y+1)]for j in range(x+1)] for _ in range(n): i,j = map(int,input().split()) dpc[i][j] = 0 for i in range(1,x+1): for j in range(1,y+1): if dpc[i][j]!=0: dpc[i][j] = dpc[i-1][j]+dpc[i][j-1] print(dpc[-1][-1])
if __name__ == "__main__":
x,y,n = list(map(int, input().split(" ")))
dp = [[1 for i in range(x+1)] for j in range(y+1)]
boss = []
for i in range(n):
bx,by = list(map(int, input().split(" ")))
dp[bx][by]=0
for i in range(1,x+1):
for j in range(1,y+1):
if dp[i][j]!= 0:
dp[i][j] = dp[i][j-1] + dp[i-1][j]
print(dp[x][y])
为啥只能通过67%呢???