解题思路:简简单单
注意事项:
参考代码:
#include<bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; int x[n+1][m+1]; int w[n+1],v[n+1]; for(int i=1;i<=n;i++) { cin>>w[i]>>v[i]; } for(int i=0;i<n;i++) { x[i][0]=0; } for(int i=0;i<m;i++) { x[0][i]=0; } for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { if(w[i]>j) { x[i][j]=x[i-1][j]; } else { x[i][j]=max(x[i-1][j],x[i-1][j-w[i]]+v[i]); } } } cout<<x[n][m]<<endl; return 0; }
0.0分
0 人评分