# 題目

zerojudge b967. 4. 血緣關係

# 解題思路

目前沒東西...

# 程式碼

#include <bits/stdc++.h>
using namespace std;
#define N 100005
vector<int> adj[N];
int  dfs(int v,int p){
    int sum=0;
    for(auto &u:adj[v]){
        if(u==p) continue;
        sum=max(dfs(u,v),sum);
    }
    return sum+1;
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    int n;
    cin>>n;
    for(int i=0,u,v;i<n-1;i++){
        cin>>u>>v;
        adj[u].push_back(v);
        adj[v].push_back(u);
    }
    queue<int> q;
    q.push(0);
    bool visit[N]={0};
    int temp;
    while(!q.empty()){
        int t=q.front();q.pop();
        visit[t]=1;
        temp=t;
        for(auto &u:adj[t]){
            if(visit[u]) continue;
            q.push(u);
        }
    }
    cout<<dfs(temp,-1)-1;
}
更新於 閱讀次數 次