社区讨论

Python60分超时求助

P1005[NOIP 2007 提高组] 矩阵取数游戏参与者 2已保存回复 3

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
3 条
当前快照
1 份
快照标识符
@lo2enlxu
此快照首次捕获于
2023/10/23 12:36
2 年前
此快照最后确认于
2023/11/03 13:22
2 年前
查看原帖
PYTHON
def fun(i,j):    
    if i>=j:
        return l[i]*2

    if (i,j)not in ij:#计算并记忆                
        x=max(2*(l[i]+fun(i+1,j)),2*(l[j]+fun(i,j-1)))
        ij.append((i,j))
        zhi.append(x)
        return x
    else:#返回记忆库里的值
        return zhi[ij.index((i,j))]

n,m=map(int,input().split())
ans=0
for i in range(n):
    zhi=[]
    ij=[]
    l=list(map(int,input().split()))#读入一行数据就计算一次
    ans+=fun(0,m-1)
print(ans)

回复

3 条回复,欢迎继续交流。

正在加载回复...