2-09. 装箱问题模拟(20)
来源:互联网 发布:压缩感知算法 编辑:程序博客网 时间:2024/05/18 17:45
2-09. 装箱问题模拟(20)
时间限制
400 ms
内存限制
32000 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>#define SIZE 1001int main(){int shape[SIZE], box[SIZE],location[SIZE]; //物品大小, 箱子剩余空间大小,每个物品所在的箱子编号int num,i,j,usedNum=0; //num:物品个数 usedNum:被使用的箱子的个数scanf("%d",&num);for(i=1;i<=SIZE-1;i++)box[i]=100;for(i=1;i<=num;i++){scanf("%d",&shape[i]); //输入物品ifor(j=1;j<=SIZE-1;j++){if(box[j]>=shape[i]){if(box[j]==100) //新箱子,个数+1usedNum++;box[j]-=shape[i];location[i]=j; //物品i,被装在箱子j中break;}}}for(i=1;i<=num;i++)printf("%d %d\n",shape[i],location[i]);printf("%d\n",usedNum);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问题)
- 2014 -- 经典PHP面试题
- c++ STL map函数函数学习笔记
- POJ 3009 Curling 2.0
- 激活函数实现--3 Tanh函数实现
- UVa 10125 - Sumsets 解题报告(中途相遇法)
- 2-09. 装箱问题模拟(20)
- fvcom一些有用的网址
- 感谢党,软考过了。系统集成项目管理工程师
- 2**3**4**5**6%10**8
- MR Mapper/Reducer、Partitioner初解
- 如何将python程序打包成exe文件
- HDU-1271 整数对
- 2014 -- ASP.NET 面试题
- MySQL联结表