各位大佬,60分蒟蒻求助
查看原帖
各位大佬,60分蒟蒻求助
185239
叶宁远Abc楼主2021/12/4 22:29
#include <bits/stdc++.h>
using namespace std;
struct node {
    node* l, * r, * father;
}a[100001];
int ans;
void dfs(node item,int deep) {
    if (item.l == NULL && item.r == NULL) {
        ans = (deep >= ans ? deep : ans);
        return;
    }
    if (item.l != NULL) dfs(*item.l, deep + 1);
    if (item.r != NULL) dfs(*item.r, deep + 1);
}
int main() {
    int n;
    cin >> n;
    for (int i = 1; i <= n; i++) {
        int l, r;
        cin >> l >> r;
        if(l!=0){
            a[i].l = &a[l];
            a[i].r = &a[r];
            a[l].father = &a[i];
            a[r].father = &a[i];
        }
    }
    struct node tmp = a[1];
    while (tmp.father != NULL) {
        tmp = *tmp.father;
    }

    dfs(tmp, 1);
    cout << ans;
}

大佬们,我 第一个第三个 点没有过

2021/12/4 22:29
加载中...