社区讨论
全部都是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 条回复,欢迎继续交流。
正在加载回复...