python测试数据最后一个有换行 题目数据有问题
查看原帖
python测试数据最后一个有换行 题目数据有问题
497577
zzuBobby楼主2021/4/13 21:13

前4个顺利ac 最后一个下载数据发现测试数据有问题

n = int(input())
m = [[0 for j in range(n)] for i in range(n)]
for i in range(n):
    m[i] = list(map(int, input().split()))


# 求一维最大子段和
def mss(a):
    s = [0 for i in range(n)]
    s[0] = a[0]
    for i in range(1, n):
        if s[i-1] < 0:
            s[i] = a[i]
        else:
            s[i] = s[i-1] + a[i]
    s.sort()  # 这一步别忘了
    return s[n-1]


# 初始化ans
ans = mss(m[0])
# 压缩处理
for i1 in range(n):
    t = [0 for k in range(n)]
    for i2 in range(i1, n):
        for j in range(n):
            if i2 == i1:
                # 自身
                t[j] = m[i1][j]
            else:
                t[j] += m[i2][j]
        t_ans = mss(t)
        if t_ans > ans:
            ans = t_ans

print(ans)
2021/4/13 21:13
加载中...