我觉得我代码没有问题,但全WA
  • 板块P1464 Function
  • 楼主wmhwuminhao
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/10/20 09:52
  • 上次更新2024/10/20 11:41:07
查看原帖
我觉得我代码没有问题,但全WA
1191207
wmhwuminhao楼主2024/10/20 09:52
#include<bits/stdc++.h>
using namespace std; 
#define ll long long
ll x[25][25][25];
ll a , b , c;
ll w (ll a , ll b , ll c)
{
	if (a <= 0 || b <= 0 ||c <= 0) return 1;
	if (a > 20 || b > 20 || c > 20) return w(20 , 20 , 20);
	if (a < b && b < c) 
	{
		if (x[a][b][c-1] == 0) x[a][b][c-1] = w(a , b , c - 1);
		if (x[a][b-1][c-1] == 0) x[a][b-1][c-1] = w(a , b - 1 , c - 1);
		if (x[a][b-1][c] == 0) x[a][b-1][c] = w(a , b - 1 , c);
		x[a][b][c] = x[a][b][c-1] + x[a][b-1][c-1] + x[a][b-1][c];
	}
	else
	{
		if (x[a-1][b][c] == 0) x[a-1][b][c] = w(a - 1 , b , c);
		if (x[a-1][b-1][c] == 0) x[a-1][b-1][c] = w(a - 1 , b - 1 , c);
		if (x[a-1][b][c-1] == 0) x[a-1][b][c-1] = w(a - 1 , b , c - 1);
		if (x[a-1][b-1][c-1] == 0) x[a-1][b-1][c-1] = w(a - 1 , b - 1 , c - 1);
		x[a][b][c] = x[a-1][b][c] + x[a-1][b-1][c] + x[a-1][b][c-1] - x[a-1][b-1][c-1];
	}
	return x[a][b][c];
}
int main ()
{
	while (scanf ("%lld%lld%lld" , &a , &b , &c))
	{
		if ((a == -1) && (b == -1) && (c == -1)) return 0;
		printf("w(%lld, %lld, %lld) = ", a, b, c);
		printf("%lld\n", w(a, b, c));
	}
}

帮我看一看代码错在哪里

2024/10/20 09:52
加载中...