求改
  • 板块灌水区
  • 楼主wo666czh
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/10/3 11:53
  • 上次更新2024/10/3 15:26:38
查看原帖
求改
1033744
wo666czh楼主2024/10/3 11:53

可以帮我改一下这道题吗

treasure

#include <bits/stdc++.h>
#define N 205
#define M 605
#define Max(x,y,z) (z>(x>y?x:y)?z:(x>y?x:y))
using namespace std;
int n,v1,v2,v[N],w[N],dp[M][M],ans;
signed main()
{
//	freopen("treasure.in","r",stdin);
//	freopen("treasure.out","w",stdout);
	scanf("%d%d%d",&n,&v1,&v2);
	for(int i=1;i<=n;i++)scanf("%d%d",&w[i],&v[i]);
	for(int i=1;i<=n;i++)
	{
		for(int j=v1;j>=w[i];j--)
		{
			for(int k=v2;k>=w[i];k--)
				dp[j][k]=Max(dp[j][k],dp[j-w[i]][k]+v[i],dp[j][k-w[i]]+v[i]);
		}
	}
	printf("%d",dp[v1][v2]);
	return 0;
}

2024/10/3 11:53
加载中...