# 題目
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; | |
} |