咋会RE
查看原帖
咋会RE
264548
Tangent233楼主2020/11/19 17:30
#include<bits/stdc++.h>
using namespace std;
int dp[10010],cost[10010],mny[10010];
//dp使用的数组,花费,以及价值 
int main()
{
	freopen("out.txt","w",stdout);
	int t,n,m;//做背包次数,纪念品种类,背包容量
	cin>>t>>n>>m;
	for(int i=1;i<=n;i++) cin>>cost[i];
	for(int i1=1;i1<=t-1;i1++)
	{
		memset(dp,0,sizeof(dp));
		if(i1!=1)//不是第一次
			for(int i2=1;i2<=n;i2++) cost[i2]=mny[i2];//昨天的价值便是今天的花费
		for(int i2=1;i2<=n;i2++) cin>>mny[i2];
		for(int k=1;k<=n;k++)
			for(int u=cost[k];u<=m;u++)
				dp[u]=max(dp[u],dp[u-cost[k]]+mny[k])+(m-u);
		//完全背包 
		for(int s=1;s<=10010;s++) m=max(m,dp[s]);//cout<<dp[s]<<' ';
	//	cout<<endl;
	}
	return 0;
}

找了半天也没搞清楚错误在哪

2020/11/19 17:30
加载中...