社区讨论

全部都是RE(但是自己跑起来没问题啊)

P1464[PacNW 1999] Function参与者 2已保存回复 2

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
2 条
当前快照
1 份
快照标识符
@lobwc1zl
此快照首次捕获于
2023/10/30 04:01
2 年前
此快照最后确认于
2023/11/04 09:05
2 年前
查看原帖

不知道这个代码哪里出问题了

全部都是RE(一片紫)

求助
CPP
#include<bits/stdc++.h>
using namespace std;
long long ans[21][21][21][2];//最后一位顺便存储flag,看有没有计算过
long long fun(int x,int y,int z)
{
	if(x<=0||y<=0||z<=0) return 1;
	if(ans[x][y][z][0]) return ans[x][y][z][1];
	if(x<y&&y<z){
		ans[x][y][z][0]=1;
		return ans[x][y][z][1]=fun(x,y,z-1)+fun(x,y-1,z-1)-fun(x,y-1,z);
	}
	ans[x][y][z][0]=1;
	return ans[x][y][z][1]=fun(x-1,y,z)+fun(x-1,y-1,z)+fun(x-1,y,z-1)-fun(x-1,y-1,z-1);
}
int main()
{
	long long a,b,c;
	while(1)
	{
		scanf("%lld%lld%lld",&a,&b,&c);
		if(a==-1&&b==-1&&c==-1) return 0;
		if(a>=20||b>=20||c>=20){
			printf("w(%lld, %lld, %lld) = %lld\n",a,b,c,fun(20,20,20));
		}
		printf("w(%lld, %lld, %lld) = %lld\n",a,b,c,fun(a,b,c));
	}
}

回复

2 条回复,欢迎继续交流。

正在加载回复...