《数据结构学习与实验指导》2-9:装箱问题模拟
来源:互联网 发布:开淘宝店挣钱么 编辑:程序博客网 时间:2024/06/05 02:10
实验内容:假设有N项物品,大小分别为s1,s2,……,sN,其中si为1<=si<=100的整数。要吧这些物品放入容量为100的一批箱子中。装箱方法是:对每项物品,顺序扫描箱子,把该物品放入足以能容下他的第一个箱子中。
输入说明:输入第1行给出物品个数N(N<=1000),第2行给出N个正整数si(1<=si<=100)。
输出说明:按输入顺序输出每个物品的大小及其所在的箱子序号,每个物品占1行,最后一行输出所需的箱子数目。
测试用例:
输入 | 输出
8
60 70 80 90 30 40 10 20 | 60 1
70 2
80 3
90 4
30 1
40 5
10 1
20 2
5
6
100 90 80 70 60 50 | 100 1
90 2
80 3
70 4
60 5
50 6
6
1
2 | 2 1
1
#include <stdio.h>#include <stdlib.h>int main() { int N; scanf("%d", &N); int *goods = (int *) malloc(N * sizeof(int)); int *position = (int *) malloc(N * sizeof(int)); int *barrel = (int *) malloc(N * sizeof(int)); for (int i = 0; i < N; i++) { scanf("%d", goods + i); position[i] = -1; barrel[i] = 100; } for (int i = 0; i < N; i++) { int j = 0; while (barrel[j] < goods[i]) { j++; } barrel[j] -= goods[i]; *(position + i) = j; } for (int i = 0; i < N; i++) { printf("%d %d\n", goods[i], position[i] + 1); } int count = 0; while (barrel[count] < 100) { count ++; } printf("%d\n", count); return 0;}
阅读全文
0 0
- 《数据结构学习与实验指导》2-9:装箱问题模拟
- <数据结构学习与实验指导>2-8用扑克牌计算24点/2-9装箱问题模拟
- 《数据结构学习与实验指导》3-8:堆栈模拟队列
- <数据结构学习与实验指导>2-2数组元素循环右移问题
- 《数据结构学习与实验指导》2-2:数组元素循环右移问题
- 《数据结构学习与实验指导》4-9:笛卡尔树
- <数据结构学习与实验指导>2-1:简单计算器
- 《数据结构学习与实验指导》2-1:简单计算器
- 《数据结构学习与实验指导》2-6:数列求和
- 《数据结构学习与实验指导》2-7:素因子分解
- 《数据结构学习与实验指导》2-10:海盗分赃
- 《数据结构学习与实验指导》4-2:树种统计
- 《数据结构学习与实验指导》3-3:银行业务队列简单模拟
- PAT 数据结构 2-09 装箱问题模拟
- PAT《数据结构学习与实验指导》实验项目集 2-06
- PAT《数据结构学习与实验指导》实验项目集 2-05
- PAT《数据结构学习与实验指导》实验项目集 2-07
- PAT《数据结构学习与实验指导》实验项目集 2-09
- java servlet 读写mysql中存储的二进制文件
- bean生命周期2
- 构造和析构方法?功能是?
- Mac 配置react native环境
- scala返回List<Object>类型给java
- 《数据结构学习与实验指导》2-9:装箱问题模拟
- css3 设置字体样式
- Test
- 红黑树
- 一条简单sql语句,按排序删除
- 自启动项
- 表单事件(2)
- linux centos设置密钥并且使用密钥登录
- 使用Spring Boot创建微服务