東東開車出去泡妞(在夢中),車內提供了 n 張cd唱片,已知東東開車的時間是 n 分鐘,他該如何去選擇唱片去消磨這無聊的時間呢
輸入:多組輸入
每行輸入第乙個數字n, 代表總時間,第二個數字 m 代表有 m 張唱片,後面緊跟 m 個數字,代表每張唱片的時長 例如樣例一: n=5, m=3, 第一張唱片為 1 分鐘, 第二張唱片 3 分鐘, 第三張 4 分鐘
所有資料均滿足以下條件:
n≤10000
m≤20
輸出:輸出所有唱片的時長和總時長,具體輸出格式見樣例
樣例:input:
5 3 1 3 4
10 4 9 8 4 2
20 4 10 5 7 4
90 8 10 23 1 2 3 4 5 7
45 8 4 10 44 43 12 9 8 2
output:
1 4 sum:5
8 2 sum:10
10 5 4 sum:19
10 23 1 2 3 4 5 7 sum:55
4 10 12 9 8 2 sum:45
本題考查01揹包問題。
設bool pre[i][j]==1 為當前f[i][j]裝入了第i件物品。
i從n件物品、j最大空間m開始迴圈,若pre[i][j]==1,則j更新為j-weight[i]。每次迴圈後i–,表示向前遍歷物品。
#include
#include
#include
using
namespace std;
int a[
10010
],v[
10010
],f[
10010];
bool pre[
10010][
10010];
intmain()
int i=n,j=m,sum=0;
while
(i>=
1&&j>=0)
i--;}
for(
int i=sum;i>=
1;i--
) cout<<<
" ";
cout<<
"sum:"
<<}return0;
}
Week11 東東開車了
問題描述 東東開車出去泡妞 在夢中 車內提供了 n 張cd唱片,已知東東開車的時間是 n 分鐘,他該如何去選擇唱片去消磨這無聊的時間 我們需要找到最能消磨時間的唱片數量,並按使用順序輸出答案 必須是聽完唱片,不能有唱片沒聽完卻到了下車時間的情況發生 思路解析 1.0 1揹包問題,n個物品對應m張唱片...
Week11作業 A 必做題 11
題目 蒜頭君從現在開始工作,年薪 n 萬。他希望在蒜廠附近買一套 60 平公尺的房子,現在 是 200 萬。假設房子 以每年百分之 k 增長,並且蒜頭君未來年薪不變,且不吃不喝,不用交稅,每年所得 n萬全都積攢起來,問第幾年能夠買下這套房子?第一年年薪 n 萬,房價 200 萬 輸入格式 一行,包含...
week11作業 A 必做題11 1
蒜頭君從現在開始工作,年薪 nnn 萬。他希望在蒜廠附近買一套 606060 平公尺的房子,現在 是 200200200 萬。假設房子 以每年百分之 kkk 增長,並且蒜頭君未來年薪不變,且不吃不喝,不用交稅,每年所得 nnn 萬全都積攢起來,問第幾年能夠買下這套房子?第一年年薪 nnn 萬,房價 ...