花生采摘

GitHub跳转原题关系图返回列表

本地题面缓存已迁移,解析内容待补充。

OJ: noi_openjudge

题目 ID: ch0113-38

难度:未知

标签:python

日期: 2026-07-30 23:01

题意

完整题面见同目录的 problem.md

思路

代码

Python代码

python
row_count, column_count, time_limit = map(int, input().split())
peanuts = []

for row in range(1, row_count + 1):
    for column, amount in enumerate(map(int, input().split()), start=1):
        if amount:
            peanuts.append((amount, row, column))

peanuts.sort(reverse=True)
elapsed = 0
answer = 0
previous = None
for amount, row, column in peanuts:
    move = row if previous is None else abs(row - previous[0]) + abs(column - previous[1])
    if elapsed + move + 1 + row > time_limit:
        break
    elapsed += move + 1
    answer += amount
    previous = (row, column)

print(answer)

复杂度

总结