洛谷允许无意义变量存在嘛?
查看原帖
洛谷允许无意义变量存在嘛?
1376035
Kexi_楼主2024/10/24 13:26
各位dalao先别急着喷
看代码
#include <bits/stdc++.h>
using namespace std;
int m,n,index,dp[200000];
struct object
{
	int q,p,v,link1,link2;
	bool now;
}a[32000];
int main()
{
	cin>>m>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>a[i].p>>a[i].v>>a[i].q;
		int z=a[i].q;
		if(a[i].q!=0)
		{
			if(a[z].now==false)
			{
				a[z].link1=i;
				a[z].now=true;
			}
			else
			{
				a[z].link2=i;
			}
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=m;j>=a[i].p;j--)
		{
			if(a[i].q==0)
			{
				dp[j]=max(dp[j],dp[j-a[i].p]+a[i].p*a[i].v);
				int l1=a[i].link1,l2=a[i].link2;
				if(j>=a[i].p+a[l1].p) dp[j]=max(dp[j],dp[j-a[i].p-a[l1].p]+a[i].p*a[i].v+a[l1].p*a[l1].v);
				if(j>=a[i].p+a[l2].p) dp[j]=max(dp[j],dp[j-a[i].p-a[l2].p]+a[i].p*a[i].v+a[l2].p*a[l2].v);
				if(j>=a[i].p+a[l1].p+a[l2].p) dp[j]=dp[j]=max(dp[j],dp[j-a[i].p-a[l1].p-a[l2].p]+a[i].p*a[i].v+a[l1].p*a[l1].v+a[l2].p*a[l2].v);
			}
		}
	}
	cout<<dp[m];
	return 0;
}
这个代码显示CE...删掉第三行的无意义变量index之后就AC了...

有没有dalao知道咋回事?
2024/10/24 13:26
加载中...