lddongdong 2021-10-21 01:02 采纳率: 100%
浏览 127
已结题

请问这道“装箱问题”如何思考呢?

请问这道“装箱问题”如何思考呢?我看代码不是很理解,希望大家提供一下详细思路,非常感谢大家!

img

img

img

#include <cstdio>

int main()
{
    int n, a, b, c, d, e, f, x, y;
    //n表示需要的箱子
    //x表示1×1的空位数目
    //y表示2×2的空位数目
    int u[4] = { 0,5,3,1 }
        //表示3×3产品分别是4k,4k+1,4k+2,4k+3时

        while (scanf("%d%d%d%d%d%d", &a, &b, &c, &d, &e, &f) != EOF)
        {
            if (a == 0 && b == 0 && c == 0 && d == 0 && e == 0 && f == 0)
                break;
            n = f + e + d + (c + 3) / 4;
            y = 5 * d + u[c % 4];
            //长宽大于或等于3×3的产品所占的新箱子数目
            if (b > y)
                n += (b - y + 8) / 9;//多出来的2×2箱子应该占用的新箱子数
            x = 36 * n - 36 * f - 25 * e - 16 * d - 9 * c - 4 * b
                //所有箱子剩下的1×1空格
                if (a > x)
                    n += (a - x + 35) / 36;
            printf("%d\n", n);
        }
    return 0;
}
  • 写回答

2条回答

      报告相同问题?

      相关推荐 更多相似问题

      问题事件

      • 已结题 10月30日
      • 已采纳回答 10月25日
      • 修改了问题 10月21日
      • 创建了问题 10月21日

      悬赏问题

      • ¥15 关于企业微信,调用官方 微盘api 时候access_token过期的问题?
      • ¥15 请问这个C语言代码的界面怎样修改
      • ¥15 QT for Android 开发的App后台切换后卡死,没有响应
      • ¥15 【Coppeliasim】利用remoteApi实现Coppeliasim与C++程序的数据通讯
      • ¥15 Spring Boot 服务迁移到 k8s , 配置文件 eureka.instance.prefer-ip-address = true,注册在 eureka 依然是服务名称
      • ¥15 No module named 'pyLDAvis'
      • ¥15 Microsoft.ReportViewer.WinForms 预览打印显示
      • ¥15 C#点到对岸的距离,各距离线段即垂直于下方斜线
      • ¥50 R语言时间序列 滚动窗口预测
      • ¥15 Python不使用Selenium怎么实现网页输入和点击