悬棺求条
查看原帖
悬棺求条
1059234
FamousKillerconan楼主2024/11/1 14:28

题目链接

78分代码如下

#include<bits/stdc++.h>
using namespace std;
int n,m,t,w[1005],v[1005],pos,dp[1005],a[1005][1005],x;
int main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		cin>>x;
		for(int j=1;j<=x;j++){
			cin>>w[++pos]>>v[pos];
			a[i][++a[i][0]]=pos;
		}
	}
	for(int k=1;k<=n;k++){
		for(int j=m;j>=0;j--){
			for(int i=1;i<=a[k][0];i++){
				if(j>=w[a[k][i]]){
					int t=a[k][i];
					dp[j]=max(dp[j],dp[j-w[t]]+v[t]);
				}
			}
		}
	}
	cout<<dp[m];
    return 0;
}
2024/11/1 14:28
加载中...