2-09. 装箱问题模拟(20)
来源:互联网 发布:mac 程序 卸装 编辑:程序博客网 时间:2024/05/21 06:16
2-09. 装箱问题模拟(20)
时间限制
400 ms
内存限制
65536 kB
代码长度限制
8000 B
判题程序
Standard
假设有N项物品,大小分别为s1, s2, …, si, …, sN,其中si为满足1<= si<=100的整数。要把这些物品装入到容量为100的一批箱子(序号1~N)中。装箱方法是:对每项物品, 顺序扫描箱子,把该物品放入足以能够容下它的第一个箱子中。请写一个程序模拟这种装箱过程,并输出每个物品所在的箱子序号,以及放置全部物品所需的箱子数目。
输入格式说明:
输入第1行给出物品个数N(<=1000),第2行给出N个正整数si(1 <= si <= 100,表示第i项物品的大小)。
输出格式说明:
按照输入顺序输出每个物品的大小及其所在的箱子序号,每个物品占1行,最后一行输出所需的箱子数目。
样例输入与输出:
序号输入输出1860 70 80 90 30 40 10 20
60 170 280 390 430 140 510 120 252
6100 90 80 70 60 50
100 190 280 370 460 550 663
12
2 11
#include <stdio.h>#include <string.h>#include <math.h>#include <stdlib.h>#include <ctype.h>#define TSIZE 45int main(){int n,i,j,flag,max;int s[1000];int dun[1000];int biao[1000];while(scanf("%d",&n)!=EOF){for(i=0;i<100;i++){biao[i]=-1;}for(i=0;i<n;i++){scanf("%d",&s[i]);dun[i]=s[i];}biao[0]=0;for(i=1;i<n;i++){for(j=0;j<i;j++){flag=0;if(dun[i]+dun[j]<=100){dun[j]=dun[j]+dun[i];dun[i]=0;biao[i]=j;flag=1;break;}}if(flag==0){biao[i]=i;}}max=0;for(i=0;i<n;i++){if(biao[i]>max)max=biao[i];}for(i=0;i<n;i++)printf("%d %d\n",s[i],biao[i]+1);printf("%d\n",max+1);} return 0;}
0 0
- 2-09. 装箱问题模拟(20)
- 2-09. 装箱问题模拟(20)
- 2-09. 装箱问题模拟(20)
- 2-09. 装箱问题模拟(20)
- 2-09. 装箱问题模拟(20)
- 2-09. 装箱问题模拟(20) (ZJU_PAT 模拟)
- 浙大PAT 2-09. 装箱问题模拟 (解题思路)
- PAT 1015. 装箱问题模拟(20)
- PAT 2-09 装箱问题模拟(C语言实现)
- PAT 数据结构 2-09 装箱问题模拟
- 浙江大学PAT上机题解析之2-09. 装箱问题模拟
- 《数据结构学习与实验指导》2-9:装箱问题模拟
- codevs 1464 装箱问题2 模拟 解题报告
- 7-50 装箱问题(20 分)
- 【codevs1464】装箱问题2
- 1464 装箱问题 2
- 装箱问题(递归)
- 装箱问题(NP问题)
- C++类入门
- 百度地图开发
- 第32题
- STL学习记录(一):STL简介
- libevent中的hash表
- 2-09. 装箱问题模拟(20)
- 火焰圆形度计算
- 研究生记录(3)2015-4-27
- id、NSObject *、id<NSObject>、instancetype的区别
- 【cocos2d-x 3.5】Lua动画API
- 使用python3.4解析xml文件(sax、dom、etree)
- 登泰山
- Web前端开发工程师必读的15个设计博客
- function中使用动态sql和游标