poj1017

一个工厂制造的产品形状都是长方体,它们的高度都是h,长和宽都相等,一共有六个型号,他们的长宽分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。这些产品通常使用一个 6*6*h 的长方体包裹包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的包裹数量。他们很需要有一个好的程序帮他们解决这个问题从而节省费用。现在这个程序由你来设计。

 #include<stdio.h>
    int main()
    {
        int a1, a2, a3, a4, a5, a6;
        while(scanf("%d%d%d%d%d%d", &a1, &a2, &a3, &a4, &a5, &a6), a1+a2+a3+a4+a5+a6)
        {
            int b1=0, b2=0, sum=a6;
            sum += a5;
            if(a5)
                b1 += 11*a5;
            sum += a4;
            if(a4)
                b2 += 5*a4;
            sum += a3 / 4;
            a3 %= 4;
            if(a3)sum++;
            if(a3 == 1)
            {
                b2 += 5;
                b1 += 7;
            }
            if(a3 == 2)
            {
                b2 += 3;
                b1 += 6;
            }
            if(a3 == 3)
            {
                b2 += 1;
                b1 += 5;
            }
            if(a2 < b2)
            {
                b2 -= a2;
                a2 = 0;
                b1 += b2 * 4;
            }
            else
                a2 -= b2;
            sum += a2 / 9;
            a2 %= 9;
            if(a2)
            {
                sum++;
                b1 += (9 - a2) * 4;
            }
            if(a1 < b1)
                a1 = b1 = 0;
            a1 -= b1;
            sum += (a1+35) / 36;
            printf("%d ", sum);
        }
        return 0;

    } 

原文地址:https://www.cnblogs.com/liuxin13/p/4383969.html