装箱问题

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

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

OJ: noi_openjudge

题目 ID: ch0406-19

难度:未知

标签:python

日期: 2026-07-30 23:01

题意

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

思路

代码

Python代码

python
while True:
    one, two, three, four, five, six = map(int, input().split())
    if one == two == three == four == five == six == 0:
        break
    boxes = six
    boxes += five
    one = max(0, one - five * 11)
    boxes += four
    needed_two = four * 5
    used_two = min(two, needed_two)
    two -= used_two
    one = max(0, one - (needed_two - used_two) * 4)
    boxes += (three + 3) // 4
    remainder = three % 4
    if remainder:
        required_two = (0, 5, 3, 1)[remainder]
        used_two = min(two, required_two)
        two -= used_two
        one = max(0, one - ((0, 7, 6, 5)[remainder] + (required_two - used_two) * 4))
    boxes += (two + 8) // 9
    remainder = two % 9
    if remainder:
        one = max(0, one - (36 - remainder * 4))
    boxes += (one + 35) // 36
    print(boxes)

复杂度

总结