题目名称 | 1903. [国家集训队2000]叠放箱子 |
---|---|
输入输出 | boxes.in/out |
难度等级 | ★★ |
时间限制 | 1000 ms (1 s) |
内存限制 | 256 MiB |
测试数据 | 10 |
题目来源 | Asm.Def 于2014-12-24加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:6, 提交:9, 通过率:66.67% | ||||
sxysxy | 100 | 0.006 s | 0.33 MiB | C++ |
_Itachi | 100 | 0.007 s | 0.33 MiB | C++ |
_Itachi | 100 | 0.040 s | 23.37 MiB | C++ |
xinging | 100 | 0.047 s | 15.89 MiB | C++ |
落尘 | 100 | 0.173 s | 23.44 MiB | C++ |
ztx | 100 | 0.332 s | 46.61 MiB | C++ |
落尘 | 60 | 0.169 s | 23.44 MiB | C++ |
_Itachi | 50 | 0.083 s | 0.32 MiB | C++ |
梦那边的美好ET | 30 | 0.307 s | 0.33 MiB | C++ |
关于 叠放箱子 的近10条评论(全部评论) | ||||
---|---|---|---|---|
qaq记录方案............%%%
sxysxy
2017-01-09 17:07
2楼
| ||||
数组又开小了。。
结果换了个动规方程,看来我写的第一种比较快。
_Itachi
2017-01-09 15:25
1楼
|
叠 放 箱 子
(Boxes)
输入文件名:boxes.in
输出文件名:boxes.out
【问题】
某港口有一批箱子,将其编号,分别为1至N。每一个箱子的尺寸规格是一样的,现在要将其中某些箱子叠放起来,箱子叠放的规则如下:
一、每个箱子上最多只能直接叠放一个箱子;
二、编号较小的箱子不能放在编号较大的箱子之上;
三、每个箱子都给出了自身重量与可承受重量,每个箱子之上的所有箱子重量之和不得超过该箱的可承受重量。
为了节约堆放场地,希望你编程从中选出最多个箱子,使之能够在满足条件的情况下叠放起来。
【样例】
有五个箱子,如下表:
编号 |
自身重量 |
可承受重量 |
1 |
19 |
15 |
2 |
7 |
13 |
3 |
5 |
7 |
4 |
6 |
8 |
5 |
1 |
2 |
则最多可以叠放4个箱子,方案之一如:1、2、3、5
【输入】
第一行是一个整数N(1≤N≤1000)。
以下共有N行,每行两个整数,中间以空格分隔,分别表示每个箱子的自身重量与可承受重量,两个数值均为小于等于3000的正整数。
【输出】
第一行应当输出最多可叠放的箱子总数M。
以下共M行,每行为一个箱子的编号,以箱子叠放顺序(从上至下,即编号由大到小)输出。
若有多种叠放方案,任意输出其中一个即可。
【输入样例】
5
19 15
7 13
5 7
6 8
1 2
【输出样例】
4
5
3
2
1