2016SDAU课程练习一1017
2016-03-22 20:14
309 查看
简单题意:
以下给定的箱子尺寸高都一样,长和宽不一样,有1*1,2*2,3*3,4*4,5*5,6*6,六种型号。最后都装入6*6*h的箱子里。分别输入6种型号箱子的个数,求最少用几个箱子打包。
解题思路及形成过程:
4*4,5*5,6*6,的有几个就需要几个箱子,2*2和1*1的插空,比较难处理的是3*3的。可以4个一起,也可以插入2*2的和1*1的。
感想:
哦两天多 积极性下降了哎
ac代码:
#include<iostream>
using namespace std;
int main()
{
int n,a[6],x,y;//x代表可以填充的1*1的空间,y代表2*2的
int i;
while(1)
{
for(i=1;i<=6;i++)
{
cin>>a[i];
}
if(a[1]==0&&a[2]==0&&a[3]==0&&a[4]==0&&a[5]==0&&a[6]==0)
break;
n=a[4]+a[5]+a[6]+(a[3]+3)/4;//先不给1*1和2*2箱子
y=a[4]*5;//每个4*4里还可以放5个2*2
/*以下是讨论在3*3的箱子里放2*2的情况*/
if(a[3]%4==3) y+=1;
else if(a[3]%4==2) y+=3;
else if(a[3]%4==1) y+=5;
if(a[2]>y) n+=((a[2]-y)+8)/9;//如果给定的箱子装不下2*2的,还需要另开箱子
x=36*n-36*a[6]-25*a[5]-16*a[4]-9*a[3]-4*a[2];
if(a[1]>x) n+=((a[1]-x)+35)/36;//同理
cout<<n<<endl;
}
return 0;
}
以下给定的箱子尺寸高都一样,长和宽不一样,有1*1,2*2,3*3,4*4,5*5,6*6,六种型号。最后都装入6*6*h的箱子里。分别输入6种型号箱子的个数,求最少用几个箱子打包。
解题思路及形成过程:
4*4,5*5,6*6,的有几个就需要几个箱子,2*2和1*1的插空,比较难处理的是3*3的。可以4个一起,也可以插入2*2的和1*1的。
感想:
哦两天多 积极性下降了哎
ac代码:
#include<iostream>
using namespace std;
int main()
{
int n,a[6],x,y;//x代表可以填充的1*1的空间,y代表2*2的
int i;
while(1)
{
for(i=1;i<=6;i++)
{
cin>>a[i];
}
if(a[1]==0&&a[2]==0&&a[3]==0&&a[4]==0&&a[5]==0&&a[6]==0)
break;
n=a[4]+a[5]+a[6]+(a[3]+3)/4;//先不给1*1和2*2箱子
y=a[4]*5;//每个4*4里还可以放5个2*2
/*以下是讨论在3*3的箱子里放2*2的情况*/
if(a[3]%4==3) y+=1;
else if(a[3]%4==2) y+=3;
else if(a[3]%4==1) y+=5;
if(a[2]>y) n+=((a[2]-y)+8)/9;//如果给定的箱子装不下2*2的,还需要另开箱子
x=36*n-36*a[6]-25*a[5]-16*a[4]-9*a[3]-4*a[2];
if(a[1]>x) n+=((a[1]-x)+35)/36;//同理
cout<<n<<endl;
}
return 0;
}
相关文章推荐
- Java读取图片Metadata元数据Exif
- tps (事务处理系统)
- 寄生or独立,代工厂的悲惨抉择
- 代理模式(Proxy)
- 委派任务
- [PHP]文件系统
- HDOJ 2024 C语言合法标识符
- jquery.scrollLoading.js内容(异步加载图片)
- 第四周项目5:递归法求最大公约数
- Linux内核设计与实现读书笔记第二次
- 作业4:结对项目—— 词频统计
- mysql自增id获取失败
- json简易语法
- 字符串处理函数
- 2016-03-19常量、枚举、结构和微软企业库
- 2016-03-19前三天的笔记
- 2016-03-20枚举、结构、索引器值类型、引用类型
- JavaScript 严格模式 - "strict mode"
- 通过HashMap快速将叶子节点构建成树状结构
- 归并排序