我制作了一个寻找矩阵路径最大和的程序。您可以从0,0到其右下元素向下,向右或对角线滚动。
for z in range(int(input())):
n,m = input().split(" ")
n = int(n)
m = int(m)
arr = []
ans = []
for i in range(n):
s = list(input().split(" "))
s = list(map(int,s))
arr.append(s)
ans.append([0 for y in range(m)])
for i in range(0,n,1):
for j in range(0,m,1):
if i==0 and j==0:
ans[i][j] = arr[i][j]
elif i==0 and j!=0:
ans[i][j] = ans[i][j-1] + arr[i][j]
elif j==0 and i!=0:
ans[i][j] = ans[i-1][j] + arr[i][j]
else:
ans[i][j] = max(ans[i-1][j],ans[i-1][j-1],ans[i][j-1]) + arr[i][j]
print(ans[n-1][m-1])
答案 0 :(得分:0)
代码在python中,因此应该有适当的缩进,否则您将得到错误。
出现NZEC错误的可能原因:
无限递归–或如果您的堆栈内存不足。
确保您的输入和输出与测试用例完全相同。建议使用与您的输出与指定输出完全匹配的计算机代码测试程序。
发生此错误的另一个常见原因是发生基本的编程错误(例如除以0)。
检查变量的值,它们很容易受到整数流的影响。
如果要直接尝试计算20以上的阶乘-寻找另一种方法。
有关更多信息,您可以检查here
检查边缘情况,在某些情况下您可能正在访问带有负索引的数组。
希望对您有帮助。