求助大佬 90分 第六个点RE

P1434 [SHOI2002] 滑雪

比奇堡公务员 @ 2020-11-18 19:51:58


change = [[-1, 0], [1, 0], [0, -1], [0, 1]]
inputNum = [j for j in map(int, input().split())]
long = inputNum[0]
length = inputNum[1]
li = [[INF] * (long+1)]
dp = [[0] * (long+1)]

def dfs(i, j):
    tmp = 0
    for k in change:
        if i + k[0] < long+1 and j + k[1] < length+1 and li[i + k[0]][j + k[1]] < li[i][j]:
            if dp[i + k[0]][j + k[1]] != -1:
                tmp = max(tmp, dp[i + k[0]][j + k[1]])
            else:
                dfs(i + k[0], j + k[1])
                tmp = max(tmp, dp[i + k[0]][j + k[1]])
    dp[i][j] = tmp + 1

for i in range(1, long+1):
    li.append([INF])
    li[i] += [j for j in map(int, input().split())]
    dp.append([0])
    dp[i] += [-1] * length

for i in range(1, long+1):
    for j in range(1, length+1):
        if dp[i][j] == -1:
            dfs(i, j)

maxone = 0
for i in dp:
    maxone = max(max(i), maxone)
print(maxone)```python

by Damaxiaoshitou @ 2021-08-18 12:03:56

wa 6

2 2

1 1

1 1


|