zoukankan      html  css  js  c++  java
  • openjudge 1017

    2.4装箱 

    这道题比较简单,有点类似枚举所有情况,代码参考了教程做了改进,用数组存储知识,否则要做很多判断。代码已经AC。

     1 #include<stdio.h>
     2 int main(void)
     3 {
     4     int a,b,c,d,e,f,x,y;
     5     int sum;
     6     int u[4]= {0, 5, 3, 1}; //对应的是当c%4 = 0, 1, 2, 3 时,剩余空间可放2*2大小的个数
     7                             //,采用这种方法可以减少很多if判断
     8     while(1)
     9     {
    10         sum = 0;
    11         scanf("%d %d %d %d %d %d",&a,&b,&c,&d,&e,&f);
    12         if (a == 0 && b == 0 && c == 0 && d == 0 && e == 0 && f == 0) 
    13             break;
    14         sum = f; //每个包裹只能转一个6*6的
    15         sum += e;//每个包裹只能装一个5*5的
    16         sum += d;//每个包裹只能装一个4*4的
    17         sum += (c+3)/4;//每个包裹可以装4个 3*3的
    18         y = 5*d + u[c%4]; 
    19         if(b>y)
    20             sum += (b-y+8)/9;
    21         x = sum *36 - f*36 -e*25 - d*16 - c*9 - b*4;
    22         if(a>x)
    23             sum += (a-x+35)/36;
    24     
    25         printf("%d
    ",sum);
    26     }
    27     return 0;
    28 }
    有问题可以和我联系,bettyting2010#163 dot com
  • 相关阅读:
    java命令模式
    java中介者模式
    java访问者模式
    java状态模式
    java责任链模式
    java策略模式(及与工厂模式的区别)
    github token 位置
    Yii2 Queue队列
    sz与rz
    vim
  • 原文地址:https://www.cnblogs.com/echoht/p/3669784.html
Copyright © 2011-2022 走看看