社区讨论

题解不能通过

P1464[PacNW 1999] Function参与者 8已保存回复 7

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@mi7xtonf
此快照首次捕获于
2025/11/21 05:22
4 个月前
此快照最后确认于
2025/11/21 05:22
4 个月前
查看原帖
//这个怎么会全是TLE呢
CPP
#include<iostream>
using namespace std;
int w(int, int, int);
int main()
{
	int a[1010], b[1010], c[1010];
	cin >> a[0] >> b[0] >> c[0];
	int cnt = 0;
	for (int i = 1; ; i++)
	{
		cin >> a[i] >> b[i] >> c[i];
		cnt++;
		if (a[i] == -1 && b[i] == -1 && c[i] == -1)
			break;
	}
	for (int j = 0; j < cnt; j++)
		cout << "w(" << a[j] << ", " << b[j] << ", " << c[j] << ")" << " = " << w(a[j], b[j], c[j]) << endl;
	system("pause");
	return 0;
}
                                                                                                           int fun[20][20][20] = { 0 };
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 (a < b&&b < c)
	{
		if(fun[a][b][c]==0)
		fun[a][b][c]=w(a - 1, b, c) + w(a, b - 1, c - 1) - w(a, b - 1, c);
	}
	else
		fun[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 fun[a][b][c];
}

回复

7 条回复,欢迎继续交流。

正在加载回复...