文章

10

粉丝

102

获赞

0

访问

4.9k

头像
完全背包问题 题解:只有66% 什么问题
P1569
发布于2024年3月17日 19:58
阅读数 486

#include<bits/stdc++.h>
using namespace std;


int main(){
	int n,w1;
	while(cin>>n>>w1){
		int w[n]={0};
		int v[n]={0};
		for(int i=0;i<n;i++){
			cin>>w[i];
			cin>>v[i];
		}
		int dp[n+1][w1+1]={0};
		for(int i=1;i<=n;i++){
			for(int j=1;j<=w1;j++){
				if(j-w[i-1]>=0){
					dp[i][j]=max(dp[i-1][j],dp[i][j-w[i-1]]+v[i-1]);
				}
				else dp[i][j]=dp[i-1][j];
			}
		}
		cout<<dp[n][w1];
		cout<<endl;
	}
}

 

登录查看完整内容


登录后发布评论

1 条评论
快乐小土狗
2024年3月18日 10:09

可以看看满分篇2.2的例题

赞(0)