World Robot Contest2025-2026Algorithm Application ThemeJunior Highwrc.hao.work
WRC
Contest Archive / Structured Dossiers青少年算法应用训练档案馆

把训练题、知识点、执行证据和最终解题档案统一归档成可直接浏览的竞赛资料库。

Archive30 Cases

四大文化赛道完整展开

AccessHTTPS

完整题面 / 题解 / 运行证据

No Rounded CornersTailwind FirstDossier Ready
03-execution/run-001/source-snapshot/main.py

main.py

站内文件视图直接读取仓库内容,Markdown 使用文档排版渲染,其余文本文件保持原始排版,方便校对训练证据链。

文件类型.py

10-cases/s4-jh-04-resource-allocation/03-execution/run-001/source-snapshot/main.py

import sys


def solve(data: str) -> str:
    tokens = data.split()
    if not tokens:
        return ""
    it = iter(tokens)
    food = int(next(it))
    med = int(next(it))
    tools = int(next(it))
    n = int(next(it))
    teams = []
    for order in range(n):
        name = next(it)
        priority = int(next(it))
        need_food = int(next(it))
        need_med = int(next(it))
        need_tools = int(next(it))
        teams.append(( -priority, order, name, need_food, need_med, need_tools))
    teams.sort()
    selected = []
    for _, _, name, need_food, need_med, need_tools in teams:
        if need_food <= food and need_med <= med and need_tools <= tools:
            food -= need_food
            med -= need_med
            tools -= need_tools
            selected.append(name)
    team_line = ",".join(selected) if selected else "NONE"
    return "\n".join(
        [
            f"selected={len(selected)}",
            f"teams={team_line}",
            f"remaining={food} {med} {tools}",
            f"unserved={n - len(selected)}",
        ]
    )


if __name__ == "__main__":
    sys.stdout.write(solve(sys.stdin.read()).strip())
    sys.stdout.write("\n")