• poj1017----模拟


    题目大意:

    现有1*1,2*2,3*3,4*4,5*5,6*6规格的产品若干个(高度都为h),问最少需要多少个

    6*6*h的箱子把这些产品都装完

    输入:每组测试数据共6个整数,分别代表1*1,...6*6这些产品的数量

    思路:

    细心模拟就好

    具体代码如:

    /*
        6*6的产品独占一个箱子
        5*5产品需要一个箱子来装,剩下的空间只能用1*1的填充,且最多11个
        4*4产品需要一个箱子来装,剩下的空间可用5个2*2的填满,不足再用1*1的填
        4个3*3产品需要一个箱子来装,不足的用1*1,2*2填
    */
    
    #include<iostream>
    #include<cstdio>
    using namespace std;
    int a,b,c,d,e,f;
    int main()
    {
        freopen("in.txt","r",stdin);
        while(scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f)!=EOF)
        {
            int sum = 0;
            if((a+b+c+d+e+f)==0)
                break;
            sum=f+e+d;//4*4,5*5,6*6肯定都得要一个箱子才能装
            //c=1,2,3,4时都要一个箱子
            sum+=(c+3)/4;//3*3每四个装满一个箱子,不足四个也需要一个箱子,剩下的空间用1*1,2*2的填充
            //把1*1的箱子放到装5*5的箱子,计算出剩余的数量
            a = max(0,a-11*e);
            //把2*2的箱子放到装4*4的箱子,计算出剩余的数量
            b = b-d*5;
            if(b<0)//说明4*4的箱子装完2*2的产品后还有余
            {
                //2*2的产品相当于4个1*1的
                a = a+4*b;
            }
            else//2*2的产品还有余,填充到放3*3箱子
            {
                //根据3*3的数量,计算出剩余空间可放多少个1*1和2*2的产品
                if(c%4==1)
                {
                    a = a-7;
                    b=b-5;
                }
                else if(c%4==2)
                {
                    a = a-6;
                    b = b-3;
                }
                else if(c%4==3)
                {
                    b = b -1;
                    a=a-5;
                }
                if(b>0)//b还是大于0,另外加箱子放2*2的
                {
                    int counts = (b+8)/9;
                    sum+=counts;
                    int num = 36 - (b%9)*4;
                    a = a-num;
                }
                else
                    a = a+b*4;
            }
            if(a>0)
                sum=sum+(a+35)/36;
            printf("%d
    ",sum);
        }
    }
    
  • 相关阅读:
    WCF 订单服务(2)
    移动应用接口的授权和安全
    数据库服务器死锁的解决方法 (转)
    WCF 订单服务(3)
    sqlservice 表分区方法
    基于.NET解决方案的架构和框架
    IIS7架构原理
    多线程的同步和通信
    【原创】关于wince OS开发面试问题的总结系列之OAL
    【原创】关于noot的学习笔记
  • 原文地址:https://www.cnblogs.com/wt20/p/5798810.html
Copyright © 2020-2023  润新知