Python60分超时求助
查看原帖
Python60分超时求助
685861
X_7a楼主2023/6/22 12:02
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)
2023/6/22 12:02
加载中...