首页 > 其他 > 详细

openjudge 1017

时间:2014-04-17 22:03:35      阅读:353      评论:0      收藏:0      [点我收藏+]

2.4装箱 

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

bubuko.com,布布扣
 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\n",sum);
26     }
27     return 0;
28 }
bubuko.com,布布扣

 

openjudge 1017,布布扣,bubuko.com

openjudge 1017

原文:http://www.cnblogs.com/echoht/p/3669784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!