80分求助#2 WA
查看原帖
80分求助#2 WA
957755
foreverhazy楼主2024/11/11 00:30

#2一直过不去,求神犇帮助

#include <bits/stdc++.h>
using namespace std;
class node {
public:
    int a;
    int b;
    int d=1;
}tree[int(1e6+10)];
int a,b;
int n,maxx=0;
int main() {
    cin>>n;
    for (int i=1;i<=n;i++) {
        cin>>a>>b;
        tree[i].a=a;
        tree[i].b=b;
        tree[a].d=tree[i].d+1;
        while (1) {
            int aa=tree[a].a;
            if (aa!=0) {
                tree[aa].d=tree[a].d+1;
                a=aa;
            } else {
                break;
            }
        }
        tree[b].d=tree[i].d+1;
        while (1) {
            int bb=tree[b].b;
            if (bb!=0) {
                tree[bb].d=tree[b].d+1;
                b=bb;
            } else {
                break;
            }
        }
    }
    for (int i=1;i<=n;i++) {
        maxx=max(tree[i].d,maxx);
    }
    cout<<maxx;
    return 0;
}

2024/11/11 00:30
加载中...