P1060 开心的金明

匿名 (未验证) 提交于 2019-12-02 23:39:01

01背包 模板题

直接上代码了。。。

 1 #include<bits/stdc++.h>  2 using namespace std;  3 int main(){  4     int n,m,w[30],v[30];  5     scanf("%d%d",&m,&n);  6     for(int i=1;i<=n;i++){  7         scanf("%d%d",&w[i],&v[i]);  8         v[i]*=w[i];  9     } 10     int f[2000][2005]; 11     for(int i=1;i<=n;i++){ 12         for(int c=m;c>=0;c--){ 13             if(w[i]>c){ 14                 f[i][c]=f[i-1][c]; 15             }else{ 16                 f[i][c]=max(f[i-1][c-w[i]]+v[i],f[i-1][c]); 17             } 18              19         } 20     } 21     cout<<f[n][m]; 22     return 0; 23 }

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!