好像就是一个完全背包。。。
但是前两个点过不了。
求大佬帮助!
#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;
}