社区讨论
大佬求助第一个案例输出一样 就是不过
P1464[PacNW 1999] Function参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @m07vqhri
- 此快照首次捕获于
- 2024/08/24 16:29 2 年前
- 此快照最后确认于
- 2025/11/04 22:33 4 个月前
CPP
#include<iostream>
using namespace std;
long long vectors[25][25][25] = {0};
#include<vector>
class zu
{
public:
long long a, b, c, n=0;
};
long long vo(long long a, long long b, long long c)
{
if (a <= 0 || b <= 0 || c <= 0)return 1;
if (a > 20 || b > 20 || c > 20)return vo(20, 20, 20);
if(a<b&&b<c)
{
if (vectors[a][b][c - 1] == 0)
vectors[a][b][c - 1] = vo(a, b, c - 1);
if (vectors[a][b - 1][c - 1] == 0)
vectors[a][b - 1][c - 1] = vo(a, b - 1, c - 1);
if (vectors[a][b-1][c ] == 0)
vectors[a][b-1][c ] = vo(a, b-1, c);
vectors[a][b][c] = vectors[a][b][c - 1] + vectors[a][b - 1][c - 1] - vectors[a][b - 1][c];
}
else
{
if (vectors[a - 1][b][c] == 0)
vectors[a - 1][b][c] = vo(a - 1, b, c);
if (vectors[a - 1][b - 1][c] == 0)
vectors[a - 1][b - 1][c] = vo(a - 1, b - 1, c);
if (vectors[a - 1][b ][c - 1] == 0)
vectors[a - 1][b ][c - 1] = vo(a - 1, b , c - 1);
if (vectors[a - 1][b - 1][c - 1] == 0)
vectors[a - 1][b - 1][c - 1] = vo(a - 1, b - 1, c - 1);
vectors[a][b][c] = vectors[a - 1][b][c] + vectors[a - 1][b - 1][c] + vectors[a - 1][b][c - 1] - vectors[a - 1][b - 1][c - 1];
}
return vectors[a][b][c];
}
int main()
{
long long a, b, c, n;
zu k;
cin >> a >> b >> c;
vector<zu>p;
while (a != -1 && b != -1 && c != -1)
{
k.a = a;
k.b = b;
k.c = c;
k.n = vo(a, b, c);
p.push_back(k);
cin >> a >> b >> c;
}
for (int i = 0; i < p.size(); i++)
{
printf("w(%lld, %lld, %lld) = ", p[i].a, p[i].b, p[i].c);
printf("%lld\n", p[i].n);
}
system("pause");
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...