POJ 1017 Packets
来源:互联网 发布:天下粮仓知乎 编辑:程序博客网 时间:2024/06/04 01:08
题目 http://poj.org/problem?id=1017
大致题意:
一个工厂制造的产品形状都是长方体盒子,它们的高度都是 h,长和宽都相等,一共有六个型号,分别为1*1, 2*2, 3*3, 4*4, 5*5, 6*6。
这些产品通常使用一个 6*6*h 的长方体箱子包装然后邮寄给客户。因为邮费很贵,所以工厂要想方设法的减小每个订单运送时的箱子数量BoxNum。
解题思路:
由于盒子和箱子的高均为h,因此只需考虑底面积的空间。
6*6的盒子,每个盒子独占一个箱子。
5*5的盒子,每个盒子放入一个箱子,该箱子的剩余空间允许放入的最大尺寸为1*1,且最多放11个。
4*4的盒子,每个盒子放入一个箱子,该箱子的剩余空间允许放入的最大尺寸为2*2。
3*3的盒子,每4个刚好独占一个箱子,不足4个3*3的,剩下空间由2*2和1*1填充。
2*2的盒子和1*1的盒子主要用于填充其他箱子的剩余空间,填充后的多余部分才开辟新箱子装填。
#include <stdio.h>#include <algorithm>#include <iostream>#include <string.h>using namespace std;int main(){ int s1,s2,s3,s4,s5,s6; //6中不同尺寸的盒子数目 while(~scanf("%d %d %d %d %d %d",&s1,&s2,&s3,&s4,&s5,&s6)&&(s1+s2+s3+s4+s5+s6)) { int Boxnum=0; //我们需要的盒子数目 //6*6的单独 装一个 Boxnum+=s6; // 一个 5*5 和 11个 1*1 拼一个盒子 Boxnum+=s5; s1=max(0,s1-11*s5); // 一个 4*4 和 5个 2*2 或者 4*4 + 20个 1*1 Boxnum+=s4; if(s2>=s4*5) //如果2*2 的够多 用2*2的填补空出来的位置 { s2=max(0,s2-5*s4); } else { s1=max(0,s1-4*(s4*5-s2)); //否则 s1填补剩余的位置(一个2*2的盒子可以用4个1*1去补位) s2=0; // s2归0 } // 3*3的盒子 4个3*3 // 或者 1个3*3+5个2*2+7个1*1 // 2*s3+3*s2+6*s1 或者 3*s3+s2+5*s1 Boxnum+= (s3+3)/4; //看3*3的够放在几个盒子里 s3%=4; //3*3 的 是否剩余 if(s3) { // 根据上面所写,2*2的盒子与3*3的盒子组合时 是 2*2的个数为7-2*(3*3的个数) if(s2>=7-2*s3) { s2=max(0,s2-(7-2*s3)); //当2*2的盒子足够多时 s1=max(0,s1- (36-9*s3-4*(7-2*s3) ) ); //其余的用1*1去填补空缺 } else { s1=max(0,s1-(36-s3*9-s2*4)); // 把2*2的盒子全用上之后剩余的用1*1补 s2=0; } } // s2 2*2的不够用1*1的补位 Boxnum+=(s2+8)/9; s2%=9; if(s2) { s1=max(0,s1-(36-s2*4)); } // s1 Boxnum+=(s1+35)/36; printf("%d\n",Boxnum); } return 0;}
0 0
- poj 1017 Packets【贪心】
- POJ 1017 Packets(贪心)
- poj 1017 Packets
- POJ 1017 Packets
- POJ 1017 Packets
- poj 1017 Packets(贪心)
- poj 1017 Packets
- poj 1017 Packets
- POJ 1017 Packets
- POJ 1017 Packets
- POJ 1017 Packets
- poj 1017 Packets
- POJ-1017-Packets
- poj 1017 Packets ( 贪心 )
- POJ 1017Packets(贪心)
- POJ 1017 Packets
- poj 1017 Packets
- [POJ][1017]Packets
- 在结构中使用字符数组还是字符指针
- 字符排序
- YYKit系列之——YYCache使用
- tomcat实现多端口多域名访问
- ORM
- POJ 1017 Packets
- TextView实现跑马灯效果
- Android实现推送方式解决方案
- 【笔记】《内核剖析》-02-微型计算机组成结构
- VBA之FormulaR1C1属性
- Reorder List
- net项目发布到IIS上一系列问题汇总
- TI 的 Codec Engine框架简介
- Maven项目,右键-update project后JRE system Library变成eclipse默认的版本