QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#801436#9750. 拼图PhoenixRebirthWA 0ms3916kbC++23606b2024-12-06 23:50:482024-12-06 23:50:48

Judging History

你现在查看的是最新测评结果

  • [2024-12-06 23:50:48]
  • 评测
  • 测评结果:WA
  • 用时:0ms
  • 内存:3916kb
  • [2024-12-06 23:50:48]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;

const int N = 200005;

int n, p[N], f[N], deg[N];

void sc() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) deg[i] = 0, f[i] = 1e8;
    for (int i = 2; i <= n; i++) {
        scanf("%d", &p[i]);
        deg[p[i]]++;
    }
    int ans = 0;
    for (int i = n; i >= 1; i--) {
        if (deg[i] == 0) f[i] = 0;
        int fa = p[i];
        f[fa] = min(f[fa], f[i] + 1);
        ans = max(ans, f[i] + (i > 1));
    }
    printf("%d\n", ans);
}

int main() {
    int T; scanf("%d", &T);
    while (T--) sc();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3916kb

input:

2
4 0 0 0
4 4 4 4

output:

1
100000001

result:

wrong answer 1st lines differ - expected: '4', found: '1'