思路有问题吗
查看原帖
思路有问题吗
141331
chenbinggang楼主2021/6/28 13:28
#include<bits/stdc++.h>
using namespace std;
int T,N,M,p[1000][10000];
int f[100000],maxn=0;
int main()
{
	scanf("%d%d%d",&T,&N,&M);
	for(int j=1;j<=T;j++)
	for(int i=1;i<=N;i++)scanf("%d",&p[j][i]);
	maxn=M;
	for(int i=1;i<=M;i++)f[i]=i;
	for(int t=2;t<=T;t++)
	{
	 //   memset(f,0,sizeof f);
	 //for(int i=1;i<=maxn;i++)f[i]=i;
	    for(int i=1;i<=N;i++)
	    for(int j=p[t-1][i];j<=maxn;j++)
		f[j]=max(f[j],f[j-p[t-1][i]]+p[t][i]);
	    maxn=f[maxn];
 }
	cout<<maxn;
}
2021/6/28 13:28
加载中...