建议降黄
查看原帖
建议降黄
1329138
luogu_hezhenmin1楼主2024/9/29 21:58

rt
简单的多重背包即可过
代码如下

#include<bits/stdc++.h>
using namespace std;
int t,n,m,a[102][102],dp[10002];
int main(){
	cin>>t>>n>>m;
	for(int i=1;i<=t;i++)
		for(int j=1;j<=n;j++)
			cin>>a[i][j];
	for(int i=1;i<t;i++){
		for(int j=1;j<=n;j++)
			for(int k=a[i][j];k<=m;k++)
				dp[k]=max(dp[k],dp[k-a[i][j]]+a[i+1][j]-a[i][j]);
		m+=dp[m];
		memset(dp,0,sizeof(dp));
	}
	cout<<m;
	return 0;
}

也可以说数据太水

2024/9/29 21:58
加载中...