全TLE了求助
查看原帖
全TLE了求助
561638
Tanhaoyue2011楼主2025/7/28 09:18
#include<iostream>
#define ll long long

using namespace std;

long long w(ll a, ll b, ll c){
	if(a <= 0|| b <= 0 || c <= 0) return 1;
	else if(a > 20 || b > 20 || c > 20) return w(20, 20, 20);
	else if(a < b && b < c) return w(a,b,c - 1) + w(a,b - 1,c - 1) - w(a,b - 1,c);
	else return w(a - 1,b,c) + w(a - 1,b - 1,c) + w(a - 1,b,c - 1) - w(a - 1,b - 1,c - 1);
}
long long a,b,c;
int main(){
	while(true){
		cin >> a >> b >> c;
		if(a == -1 && b == -1 && c == -1) break;
		else cout << "w(" << a << ", " << b << ", " << c << ") = " << w(a, b, c) << endl;
	}
	return 0;
}

我没学过记忆化搜索,我这样该怎么办啊啊啊啊啊啊

2025/7/28 09:18
加载中...