QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#801436 | #9750. 拼图 | PhoenixRebirth | WA | 0ms | 3916kb | C++23 | 606b | 2024-12-06 23:50:48 | 2024-12-06 23:50:48 |
Judging History
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'