听取wa声一片,两个wa, 求助
  • 板块P1464 Function
  • 楼主aj_pj
  • 当前回复0
  • 已保存回复0
  • 发布时间2025/2/7 11:18
  • 上次更新2025/2/7 14:34:04
查看原帖
听取wa声一片,两个wa, 求助
936077
aj_pj楼主2025/2/7 11:18
#include <bits/stdc++.h>
using namespace std;
long long w[30][30][30];
long long fun(long long a, long long b, long long c) {
	if (a <= 0 || b <= 0 || c <= 0) return 1;
	else if (a > 20 || b > 20 || c > 20) return fun(20, 20, 20);
	if (w[a][b][c] != 0) return w[a][b][c];
	if (a < b && b < c) return w[a][b][c] = fun(a, b, c - 1) + fun(a, b - 1, c - 1) - fun(a, b - 1, c);
	else return w[a][b][c] = fun(a - 1, b, c) + fun(a - 1, b - 1, c) + fun(a - 1, b, c - 1) - fun(a - 1, b - 1, c - 1);
}
int main() {
	long long a, b, c;
	while (a != -1 && b != -1 && c != -1) {
		cin >> a >> b >> c;
		if (a == -1 && b == -1 && c == -1) 
			return 0;
		printf("w(%lld, %lld, %lld) = %lld\n", a, b, c, fun(a, b, c));
	}
	return 0;
}
2025/2/7 11:18
加载中...