求助,第一个样例re,其他都过了
  • 板块P2066 机器分配
  • 楼主jujuyi
  • 当前回复1
  • 已保存回复1
  • 发布时间2023/5/12 11:54
  • 上次更新2023/10/23 16:02:55
查看原帖
求助,第一个样例re,其他都过了
1005403
jujuyi楼主2023/5/12 11:54
from sys import stdin

n, m = [int(x) for x in stdin.readline().split()]

g = []
for _ in range(n):
    g.append([int(x) for x in stdin.readline().split()])

dp = [[0 for _ in range(m + 10)] for _ in range(n + 10)]

for i in range(n, 0, -1):
    for j in range(m + 1):
        dp[i][j] = dp[i + 1][j]
        for k in range(1, j + 1):
            dp[i][j] = max(dp[i][j], dp[i + 1][j - k] + g[i - 1][k - 1])

print(dp[1][m])

sm = m

for i in range(1, n + 1):

    if dp[i + 1][sm] == dp[i][sm]:
        print(i, 0)
        continue

    for k in range(1, sm + 1):

        if dp[i + 1][sm - k] + g[i - 1][k - 1] == dp[i][sm]:
            print(i, k)
            sm -= k
            break
2023/5/12 11:54
加载中...