時間限制: 1 sec 記憶體限制: 128 mb
提交: 288 解決: 174
[提交][狀態][討論版][命題人:外部匯入]
辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。
醫師為了判斷他的資質,給他出了乙個難題。
醫 師把他帶到乙個到處都是草藥的山洞裡對他說:「孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間, 在這段時間裡,你可以採到一些草藥。如果你是乙個聰明的孩子,你應該可以讓採到的草藥的總價值最大。」
如果你是辰辰,你能完成這個任務嗎?
【輸入 】第 一行有兩個整數t(1 <= t <= 1000)和m(1 <= m <= 100),用乙個空格隔開,
t代表總共能夠用來採藥的時間,m代表山洞裡的草藥的數目。
接下來的m行每行包括兩個在1到100之間(包括1和100)的整 數,分別表示採摘某株草藥的時間和這株草藥的價值。
【輸出】乙個整數,表示在規定的時間內,可以採到的草藥的最大總價值。
【樣例輸入】
70 3
71 100
69 1
1 2【樣例輸出】
【資料規模】
對於30%的資料,m <= 10;
對於全部的資料,m <= 100。
本題為0-1揹包問題:
求最大價值
dp[v]=max(dp[v],dp[v-w[i]]+c[i])
#includeusing namespace std;
const int maxt=1005;
const int maxm=105;
int t,m;
int dp[maxt],w[maxm],c[maxm];
int main()
for(int i=0;i<=t;i++)
for(int i=1;i<=m;i++)
} int max=0;
for(int i=0;i<=t;i++)
printf("%d\n",max);
} return 0;
}
揹包問題(採藥)
辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫師把他帶到乙個到處都是草藥的山洞裡對他說 孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間,在這段時間裡,你可以採...
採藥 01揹包問題
辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫師把他帶到乙個到處都是草藥的山洞裡對他說 孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間,在這段時間裡,你可以採...
Codeup 問題 B 採藥
辰辰是個天資聰穎的孩子,他的夢想是成為世界上最偉大的醫師。為此,他想拜附近最有威望的醫師為師。醫師為了判斷他的資質,給他出了乙個難題。醫 師把他帶到乙個到處都是草藥的山洞裡對他說 孩子,這個山洞裡有一些不同的草藥,採每一株都需要一些時間,每一株也有它自身的價值。我會給你一段時間,在這段時間裡,你可以...