Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- vector<int> G[30007];
- bool w[30007];
- int odl[30007], Maks, Knust;
- void DFS(int a, int d){
- w[a] = 1;
- odl[a] = d;
- for(int i = 0;i < G[a].size();i++)
- if(!w[G[a][i]])
- DFS(G[a][i], d + 1);
- if(odl[a] > Maks){
- Maks = odl[a];
- Knust = a;
- }
- }
- int main(){
- int n;
- cin >> n;
- for(int i = 1, a, b;i < n;i++){
- cin >> a >> b;
- G[a].push_back(b);
- G[b].push_back(a);
- }
- DFS(1, 0);
- for(int i = 1;i <= n;i++)
- w[i] = 0;
- DFS(Knust, 0);
- cout << Maks;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement