第四章演算法上機實踐報告
實踐題目:設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1≤i≤n。 程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案, 使得能夠在磁帶上儲存盡可能多的程式。 對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。
輸入格式:
第一行是2 個正整數,分別表示檔案個數n和磁帶的長度l。接下來的1行中,有n個正整數,表示程式存放在磁帶上的長度。
輸出格式:
輸出最多可以儲存的程式數。
輸入樣例:
在這裡給出一組輸入。例如:
6 50
2 3 13 8 80 20
輸出樣例:
在這裡給出相應的輸出。例如:
5#include
#include
using namespace std;
int main(){
int n,l,count = 0;
cin >> n >> l;
int a[n];
for(int i = 0; i < n; i++){
cin >> a[i];
sort(a,a+n);
for(int i = 0; i < n; i++){
if(l >= a[i]){
l = l - a[i];
count++;
else
break;
cout << count;
return 0;
演算法描述:先輸入程式的個數,與磁帶的長度。再用陣列存放每乙個程式的長度。然後對每乙個程式的長度大小進行排列,選擇長度最短的,一次挑選,直到長度大於l停止。
演算法時間機器複雜度分析
心得:這道題比較簡單,思路比較清晰,很快就完成了程式設計,也沒有出什麼錯誤。
演算法第四章上機實踐報告
1.實踐題目 4 1 程式儲存問題 設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。2.問題描述 在...
演算法第四章上機實踐報告
引論 相比與動態規劃演算法,貪心演算法是比較容易理解的,其思想就在於得到當前狀態下區域性最好選擇,當乙個問題的最優解包含其子問題的最優解時,即每個貪心選擇都是子問題的最優解,那麼就能的到該問題的最優解了。本次上機實踐的題目雖然不是特別難,但相比前兩次,這一次上機實踐的效率遠低於上兩次,因為在實踐的時...
演算法第四章上機實踐報告
一 實踐題目 程式儲存問題 設有n 個程式要存放在長度為l的磁帶上。程式i存放在磁帶上的長度是 li,1 i n。程式儲存問題要求確定這n 個程式在磁帶上的乙個儲存方案,使得能夠在磁帶上儲存盡可能多的程式。對於給定的n個程式存放在磁帶上的長度,計算磁帶上最多可以儲存的程式數。第一行是2 個正整數,分...