【例9.13】庆功会
生活随笔
收集整理的這篇文章主要介紹了
【例9.13】庆功会
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
【例9.13】慶功會
鏈接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1269
時間限制: 1000 ms 內存限制: 65536 KB
【題目描述】
為了慶賀班級在校運動會上取得全校第一名成績,班主任決定開一場慶功會,為此撥款購買獎品犒勞運動員。期望撥款金額能購買最大價值的獎品,可以補充他們的精力和體力。
【輸入】
第一行二個數n(n<=500),m(m<=6000),其中n代表希望購買的獎品的種數,m表示撥款金額。
接下來n行,每行3個數,v、w、s,分別表示第I種獎品的價格、價值(價格與價值是不同的概念)和能購買的最大數量(買0件到s件均可),其中v<=100,w<=1000,s<=10。
【輸出】
一行:一個數,表示此次購買能獲得的最大的價值(注意!不是價格)。
【輸入樣例】
5 1000 80 20 4 40 50 9 30 50 7 40 30 6 20 20 1
【輸出樣例】
1040
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int f[6005],v[505],w[505],s[505];
int main()
{
int n,V;
cin>>n>>V;
for(int i=1;i<=n;i++)cin>>v[i]>>w[i]>>s[i];
for(int i=1;i<=n;i++)
for(int j=V;j>=v[i];j--)
for(int k=1;k<=s[i];k++)
if(j-k*v[i]>=0)
f[j]=max(f[j],f[j-k*v[i]]+k*w[i]);
cout<<f[V]<<endl;
}
總結
以上是生活随笔為你收集整理的【例9.13】庆功会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: docker 运行nginx并进入容器内
- 下一篇: 熊海CMS_1.0 代码审计