100分未过,求助!!
  • 板块P1464 Function
  • 楼主Spir1t
  • 当前回复5
  • 已保存回复5
  • 发布时间2023/7/13 09:36
  • 上次更新2023/11/3 10:11:26
查看原帖
100分未过,求助!!
747009
Spir1t楼主2023/7/13 09:36
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
inline ll read() {
	ll x = 0, f = 1;
	char ch = getchar();
	while (ch > '9' || ch < '0') {
		if (ch == '-')f = -1;
		ch = getchar();
	}
	while (ch >= '0' && ch <= '9') {
		x = x * 10 + ch - '0';
		ch = getchar();
	}
	return x * f;
}
int dp[30][30][30];
int w(int a, int b, int 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 (dp[a][b][c]) {
		return dp[a][b][c];
	} else if (a < b && b < c) {
		dp[a][b][c] = w(a, b, c - 1) + w(a, b - 1, c - 1) - w(a, b - 1, c);
	} else {
		dp[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 dp[a][b][c];
}
signed main() {
	int a, b, c;
	while (cin >> a >> b >> c) {
		if (a == -1 && b == -1 && c == -1) {
			break;
		}
		int ans = w(a, b, c);
		cout << "w(" << a << ", " << b << ", " << c << ") = " << ans << endl;
	}
	return 0;
}
2023/7/13 09:36
加载中...