社区讨论
本地测试结果一样但就是RE,跪求大佬帮帮弱鸡
P1464[PacNW 1999] Function参与者 2已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @mi7x5eac
- 此快照首次捕获于
- 2025/11/21 05:03 4 个月前
- 此快照最后确认于
- 2025/11/21 05:03 4 个月前
C
#include <stdio.h>
#include <string.h>
#define ll long long int //头文件,宏定义,全局变量
ll rbq[25][25][25];
ll w(int a, int b, int c);
int main()
{
ll a, b, c;
while (1)
{
memset(rbq, 0, sizeof(rbq)); //清零
scanf("%lld %lld %lld", &a, &b, &c); //输入
if (a == -1 && b == -1 && c == -1) //判断是否结束
break;
printf("w(%lld, %lld, %lld) = ", a, b, c); //输出前半部分
if (a > 20 || b > 20 || c > 20) //依题意处理
{
a = 20;
b = 20;
c = 20;
}
printf("%d\n", w(a, b, c)); //输出
}
}
ll w(int a, int b, int c) //函数主体
{
if (a <= 0 || b <= 0 || c <= 0) //小于零直接结束
return 1;
if (rbq[a][b][c] != 0) return rbq[a][b][c]; //以求出直接输出
if (a < b&&b < c) //递归求值
rbq[a][b][c] = w(a, b, c - 1) + w(a, b - 1, c - 1) - w(a, b - 1, c);
else
rbq[a][b][c] = w(a - 1, b, c) + w(a - 1, b - 1, c) + w(a - 1, b, c - 1) - w(a - 1, b - 1, c - 1);
return rbq[a][b][c];
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...