題目描述
有一個(gè)箱子容量為V(正整數(shù),0<=V<=20000),同時(shí)有n個(gè)物品(0<n<=30,每個(gè)物品有一個(gè)體積(正整數(shù))。
要求n個(gè)物品中,任取若干個(gè)裝入箱內(nèi),使箱子的剩余空間為最小。 輸入輸出格式 輸入格式:
一個(gè)整數(shù),表示箱子容量
一個(gè)整數(shù),表示有n個(gè)物品
接下來(lái)n行,分別表示這n 個(gè)物品的各自體積
輸出格式:
一個(gè)整數(shù),表示箱子剩余空間。
輸入輸出樣例 輸入樣例#1:
24 6 8 3 12 7 9 7
輸出樣例#1:
0
說(shuō)明
NOip2001普及組 第4題
基礎(chǔ)01背包
#include<iostream>#include<cstdio>using namespace std;int V,N,v[35],f[20005];int main(){ scanf("%d%d",&V,&N); for(int i=1;i<=N;i++) scanf("%d",&v[i]); for(int i=1;i<=N;i++) for(int j=V;j>=v[i];j--) { f[j]=max(f[j],f[j-v[i]]+v[i]); } cout<<V-f[V]<<endl;}新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注