题目名称 | 273. [NOI 1998]软件安装盘 |
---|---|
输入输出 | software.in/out |
难度等级 | ★★★☆ |
时间限制 | 1000 ms (1 s) |
内存限制 | 128 MiB |
测试数据 | 5 |
题目来源 | BYVoid 于2009-02-22加入 |
开放分组 | 全部用户 |
提交状态 | |
分类标签 | |
分享题解 |
通过:2, 提交:8, 通过率:25% | ||||
iloi | 100 | 2.905 s | 0.40 MiB | C++ |
zjuyxy | 100 | 3.036 s | 3.69 MiB | C++ |
zqzas | 20 | 0.150 s | 3.64 MiB | C++ |
BYVoid | 20 | 3.091 s | 3.70 MiB | C++ |
BYVoid | 20 | 3.491 s | 3.72 MiB | C++ |
_Itachi | 0 | 0.578 s | 0.23 MiB | C++ |
Go灬Fire | 0 | 1.537 s | 0.30 MiB | C++ |
游弋 | 0 | 2.336 s | 69.17 MiB | C++ |
关于 软件安装盘 的近10条评论(全部评论) | ||||
---|---|---|---|---|
额,交错题了。。
_Itachi
2016-08-03 14:05
1楼
|
软件安装通常是一件令人头疼的事。软件一般都包括若干个相对独立的部分(称为“组件”),在安装的时候由用户决定安装哪些部分。并且,这些相对独立的组件之间在安装时有一定的先后顺序要求。
由于当代的个人计算机普遍安装了软盘驱动器,所以软件的最流行的载体形式是软盘。然而,由于软盘的容量有限,稍大一些的软件就无法用一张软盘装下。这时,这些软件往往要用很多张软盘来存储。每张磁盘上存储了软件的一个或多个组件。这些软盘称为软件的安装盘。
由于软件的各个组件分散在不同的软盘上,而在安装时又有一定的先后顺序要求,所以很容易发生要求用户反复换盘的情况。而计算机用户在安装软 件的时候,最反感的就是反复在软盘之间切换:找盘、插盘、取盘、找盘、插盘、取盘、…,一切都显得那么琐碎和无序。因此,有必要对软件安装盘的制作提出下 述要求:
永远不要让用户将一张磁盘插入两次。更精确地,要求对安装盘从1开始顺序编号,使得安装的时候,用户只要按顺序插入磁盘即可。
出于经济的考虑,通常要求安装盘的总数最少。写一个程序,对于给定的软件,制定最优的安装盘方案。
输入
输出
输出文件的第一行给出了最优安装盘方案的软盘数。如果不存在最优安装盘方案,则输出0。接下来的每一行顺序给出了每张盘上存储的组件的序号。如果一张盘上存储了多个组件,则输出所有这些组件的序号,中间用一个空格隔开。
样例输入
1457664 3 512665 912345 1 832542 1
样例输出
2 1 2 3