蒟蒻求救:出现了奇怪的定义错误
查看原帖
蒟蒻求救:出现了奇怪的定义错误
631896
Wangtsjo楼主2022/7/10 11:14

今天一如往常在撸题

终于想出思路了,快打出来 然后。。

#include<bits/stdc++.h>
int n,m;
int a[400],b[10];
int dp[50][50][50][50];
int main()
{
	memset(b,0,sizeof(b));
	scanf("%d%d",&n,&m);
	for(int i=1;i<=n;i++) scanf("%d",&a[i]);
	for(int i=1;i<=m;i++){
		int x;scanf("%d",&x);
		b[x]++;
	}
	dp[0][0][0][0]=a[1];
	int a1=b[1],b1=b[2],c1=b[3],d1=b[4];
	int aa=0,bb=0,cc=0,dd=0;
	for(int i=1;i<=b[1];i++)
		for(int j=1;j<=b[2];j++)
			for(int k=1;k<=b[3];k++)
				for(int z=1;z<=b[4];z++){
					if(a1!=0) dp[++aa][bb][cc][dd]=max(dp[aa][bb][cc][dd],dp[aa-1][bb][cc][dd]+a[aa+bb*2+cc*3+dd*4]) ,a1--;
					if(b1!=0) dp[aa][++bb][cc][dd]=max(dp[aa][bb][cc][dd],dp[aa][bb-1][cc][dd]+a[aa+bb*2+cc*3+dd*4]) ,b1--;
					if(c1!=0) dp[aa][bb][++cc][dd]=max(dp[aa][bb][cc][dd],dp[aa][bb][cc-1][dd]+a[aa+bb*2+cc*3+dd*4]) ,c1--;
					if(d1!=0) dp[aa][bb][cc][++dd]=max(dp[aa][bb][cc][dd],dp[aa][bb][cc][dd-1]+a[aa+bb*2+cc*3+dd*4]) ,d1--;
				}
	printf("%d",dp[b[1]][b[2]][b[3]][b[4]]);
	return 0;
}

然后。。。。它跟我说“max没有定义??” [NOIP2010 提高组] 乌龟棋.cpp [Error] 'max' was not declared in this scope

??????????

不是头文件的原因,我已经改过试了。

谢谢大佬帮我答疑解惑(跪)

2022/7/10 11:14
加载中...