蒟蒻求救!
查看原帖
蒟蒻求救!
288049
gfcxzzx楼主2020/5/22 15:21

好像是一个完全背包。。。 但是前两个点过不了。 求大佬帮助!

#include<bits/stdc++.h>
using namespace std;
int t,m,n,w[110][110],f[10010];
int main()
{
	cin>>t>>n>>m;
	for(int i=1;i<=t;i++)
		for(int j=1;j<=n;j++)cin>>w[i][j];
	if(t==1)cout<<m;
	else
	{
			for(int k=2;k<=t;k++)
			{
				memset(f,0,sizeof(f));
				for(int i=1;i<=n;i++)
					for(int j=w[k-1][i];j<=m;j++)
						if(f[j]<f[j-w[k-1][i]]-w[k-1][i]+w[k][i])f[j]=f[j-w[k-1][i]]-w[k-1][i]+w[k][i];		
				if(f[m]>0)m+=f[m];
			}
	}

	cout<<m;
	return 0;
}
2020/5/22 15:21
加载中...