哪位大佬帮忙看一下p1064金明的预算方案哪里错了
  • 板块学术版
  • 楼主我是WW神人
  • 当前回复0
  • 已保存回复0
  • 发布时间2020/10/14 20:28
  • 上次更新2023/11/5 10:46:21
查看原帖
哪位大佬帮忙看一下p1064金明的预算方案哪里错了
151583
我是WW神人楼主2020/10/14 20:28
#include<iostream>
using namespace std;
int v[70],p[70],q[70];
int a[70][3];
int k[70];
int f[33000];
int main()
{
	int m,n;
	cin>>m>>n;
	for(int i=1;i<=n;i++)
	{
		cin>>v[i]>>p[i]>>q[i];
		if(q[i])
		{
			k[q[i]]++;
			a[q[i]][k[q[i]]]=i;
		}
	}
	for(int i=1;i<=n;i++)
	{
		for(int j=m;j>=v[i];j--)
		{
			f[j]=max(f[j],f[j-v[i]]+v[i]*p[i]);
			if(j>=v[i]+v[a[i][1]])
			{
				f[j]=max(f[j],f[j-v[i]-v[a[i][1]]]+v[i]*p[i]+v[a[i][1]]*p[a[i][1]]);
			}
			if(j>=v[i]+v[a[i][2]])
			{
				f[j]=max(f[j],f[j-v[i]-v[a[i][2]]]+v[i]*p[i]+v[a[i][2]]*p[a[i][2]]);
			}
			if(j>=v[i]+v[a[i][1]]+v[a[i][2]])
			{
				f[j]=max(f[j],f[j-v[i]-v[a[i][2]]-v[a[i][1]]]+v[i]*p[i]+v[a[i][1]]*p[a[i][1]]+v[a[i][2]]*p[a[i][2]]);
			}
		}
	}
	cout<<f[m];
}
2020/10/14 20:28
加载中...