![](https://lstatic.shangxueba.com/jiandati/h5/images/m_q_title.png)
程序存储问题 问题描述:假设有n个程序(1,2,3....,n)要...
程序存储问题 问题描述:假设有n个程序(1,2,3....,n)要存放在长度为L的磁带上。程序i存放在磁带上的长度是,
. 程序存储问题要求确定这n个程序在磁带上的一个存储方案,使得尽量快地能够在磁带上存储尽可能多的程序。 数据输入:第一行读入2个正整数,分别表示文件个数n和磁带程度L;第二行读入n个正整数,分别表示n个文件存储在磁带上的长度。 输出:输出1个整数数为满足要求的最多存储的文件数 输入示例: 6 50 2 3 13 8 80 20 输出: 5 下面的选项正确的是()
A、将程序按照在磁带上的存储长度非递减排序,假设排序后,第i个程序的长度为,其中
且
。则采用贪心算法,将程序长度最小的程序依次存放到磁带上,直到第k个磁带不能存储到磁带,则结束。磁带能够存放的程序个数为k-1(k<n),满足: data="280872">且
B、穷举法,枚举所有的存放程序到磁带且不会空间不够的情况,其中最大的程序数量就是答案。
C、递归法,将第n个程序放到磁带和不放到磁带,各是2种不可能同时出现的方法,比较这2种方法看哪一种放到磁带的程序数量更多,就选择哪一种放法。
D、先如果,则将所有程序都可以放入磁带,因此能够存放的最多程序数量为n。 否则,将程序按照在磁带上的存储长度非递减排序,假设排序后,第i个程序的长度为
,其中
且
。则采用贪心算法,将程序长度最小的程序依次存放到磁带上,直到第k个磁带不能存储到磁带,则结束。磁带能够存放的程序个数为k-1(k<n),满足: data="280872">且