全MLE,求调
查看原帖
全MLE,求调
1251905
cao_20115楼主2024/3/18 21:56

Code

#include <cstdio>
struct node{
    int lt = 0, rt = 0;
}a[1000010]; \\链式存储
int a1, a2;
int dfs(int x, int dep) {
    a1 = dfs(a[x].lt, dep + 1);
    a2 = dfs(a[x].rt, dep + 1);
    if (a[x].lt == 0 && a[x].rt == 0) return dep;
    if (a[x].lt == 0) return a2;
    if (a[x].rt == 0) return a1;
    return a1 > a2 ? a1 : a2;
}
int n;
int main(){
    scanf("%d", &n);
    for (int i = 1; i <= n; ++i) scanf("%d%d", &a[i].lt, &a[i].rt);
    printf("%d", dfs(1, 0));
    return 0;
}
2024/3/18 21:56
加载中...