全STL了,大佬围观一下我这个菜鸡怎么错了
  • 板块P1464 Function
  • 楼主devcjj
  • 当前回复8
  • 已保存回复8
  • 发布时间2023/2/3 17:38
  • 上次更新2023/10/24 01:51:55
查看原帖
全STL了,大佬围观一下我这个菜鸡怎么错了
829643
devcjj楼主2023/2/3 17:38
#include<iostream>
#include<cmath>
#define N 30;
using namespace std;
long long shu[30][30][30];
int dfs(int  a,int b, int c)
{
	if (shu[a][b][c] != 0)
	{
		return shu[a][b][c];
	}
	else if (a <= 0 || b <= 0 || c <= 0)
	{
		
		return 1;
	}
	else if (a > 20 || b > 20 || c > 20)
	{
		shu[a][b][c] = dfs(20, 20, 20);
		return shu[a][b][c];

	}
	else if (a < b && b < c)
	{
		shu[a][b][c] = dfs(a, b, c - 1) + dfs(a, b - 1, c - 1) + dfs(a, b - 1, c - 1);
		return shu[a][b][c];
	}
	else {
		shu[a][b][c] = dfs(a - 1, b, c) + dfs(a - 1, b - 1, c) + dfs(a - 1, b, c - 1) + dfs(a - 1, b - 1, c - 1);
		return shu[a][b][c];
	}
}
int main()
{
	std::ios::sync_with_stdio(false);
	long long a = 0, b = 0, c = 0;
	while (a != -1 && b != -1 && c != -1)
	{
		cin >> a >> b >> c;
		if (a <= 0 || b <= 0 || c <= 0)
		{
			cout << "w(" << a << "," << b << "," << c << ")=" << "1" << endl;
		}
		else
		{
			if (a > 20 || b > 20 || c > 20)
			{
				dfs(20, 20, 20);
				cout << "w(" << a << ", " << b << ", " << c << ") = " << shu[20][20][20] << endl;
			}
			else {
				dfs(a, b, c);
				cout << "w(" << a << ", " << b << ", " << c << ") = " << shu[a][b][c] << endl;
			}
		}
		a = 0, b = 0, c = 0;
	}
}
2023/2/3 17:38
加载中...