描述
「你喝的酸奶是我買的,辣條也是我買的,你現在要跟我分手,你把我當什麼?」
「因為你每次分辣條的時候都比我多一根!」
可見分好辣條是一件多麼重要的事情。。
現在有n(1<=n<=200)根辣條,每根辣條的重量為a1,a2...ai..an(1<=ai<=100)。
那麼能不能把這些辣條分為重量相等的兩份呢?
輸入輸入有多組資料。
每組資料第一行為乙個整數n(1<=n<=200),n代表辣條的數量。
第二行有n個整數,a1,a2...ai..an,其中ai(1<=ai<=100)代表第i根辣條的重量
輸出若能分成重量相等的兩份,則輸出"yes",否則輸出"no"每個答案佔一行
樣例輸入1
複製
31 2 1
41 1 1 2
樣例輸出1
yesno01揹包解決恰好裝滿情況,利用容積與價值相等。
#include#includeintmain()
if(sum%2==1) printf("
no\n");
else}}
if(f[sum]==sum) printf("
yes\n");
else printf("
no\n");}}
return0;
}
description
啊啊有根很大的辣條,重量為n,啊啊想把辣條分給很多小朋友,但是必須滿足下列條件:
1.每個小朋友分得的辣條重量為a,b或c;
2.分得辣條的小朋友的數量最多;
3.沒有剩餘的辣條,也就是說所有辣條都分完啦。
幫幫啊啊找出能分得辣條小朋友的數量。
input
有多組資料,每組資料報含4個整數n,a,b,c(1<=n,a,b,c<=4000)
output
每組資料輸出能分得辣條的小朋友數量,每組輸出佔一行
sample input 1
5 5 3 2
sample output 1
2
sample input 2
7 5 5 2
sample output 2
2
source
2015級計科納新考試
#include#define max 5005#define inf 0x3f3f3f3f
using
namespace
std;
typedef
long
long
ll;int a[5
];int
dp[max];
intmain()
memset(dp,-inf,sizeof
(dp));
dp[0]=0
;
for(i=1;i<=3;i++)
}printf(
"%d\n
",dp[n]);
}return0;
}
QDUOJ 93 分辣條 01揹包
描述 你喝的酸奶是我買的,辣條也是我買的,你現在要跟我分手,你把我當什麼?因為你每次分辣條的時候都比我多一根!可見分好辣條是一件多麼重要的事情。現在有n 1 n 200 根辣條,每根辣條的重量為a1,a2 ai.an 1 ai 100 那麼能不能把這些辣條分為重量相等的兩份呢?輸入 輸入有多組資料。...
01揹包的變形問題 揹包恰好裝滿
在看本文之前建議先看一下我之前發過的01揹包詳解。在前面講到的01揹包問題中,現在我們把條件改為 求當揹包恰好裝滿時候取得的最大價值 這樣的問題其實本質上和原始的01揹包問題區別不大,我們只需要做出一點小小的調整。需要指出的是該問題其實可分為兩個問題。1 揹包能否恰好裝滿?2 如果能恰好裝滿,恰好裝...
01揹包變式 要求恰好裝滿的01揹包
ktv裡面有n首歌曲你可以選擇,每首歌曲的時長都給出了.對於每首歌曲,你最多只能唱1遍.現在給你乙個時間限制t t 10 9 問你在最多t 1秒的時間內可以唱多少首歌曲num 且最長唱歌時間是多少time time必須 t 1 最終輸出num 1 和 time 678 即可.注意 你需要優先讓歌曲數...