萌新1pts求助
查看原帖
萌新1pts求助
464732
luqyou楼主2022/7/29 10:30
#include<bits/stdc++.h>
using namespace std;
int t,n[1001],c,n1,w[1001][1001],v[1001][1001],dp[1001],ans;
int main(){
	scanf("%d%d",&t,&c);
	for(int i=1;i<=t;i++){//组 
		scanf("%d",&n[i]);
		for(int j=1;j<=n[i];j++){//个 
			scanf("%d%d",&w[i][j],&v[i][j]);
		}
	}
	for(int i=1;i<=t;i++){
		for(int j=c;j>=0;j--){
			for(int k=1;k<=n[i];k++){
				if(j>=w[i][k]) dp[j]=max(dp[j],dp[j-w[i][k]]+v[i][k]); 
			}
		}
	}
	printf("%d",dp[c]); 
	return 0;
}

实在没看出来哪里有问题

2022/7/29 10:30
加载中...