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%呢???