Advertisement
Guest User

Untitled

a guest
Sep 21st, 2019
130
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.55 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. vector<int> G[30007];
  4. bool w[30007];
  5. int odl[30007], Maks, Knust;
  6. void DFS(int a, int d){
  7. w[a] = 1;
  8. odl[a] = d;
  9. for(int i = 0;i < G[a].size();i++)
  10. if(!w[G[a][i]])
  11. DFS(G[a][i], d + 1);
  12. if(odl[a] > Maks){
  13. Maks = odl[a];
  14. Knust = a;
  15. }
  16. }
  17. int main(){
  18. int n;
  19. cin >> n;
  20. for(int i = 1, a, b;i < n;i++){
  21. cin >> a >> b;
  22. G[a].push_back(b);
  23. G[b].push_back(a);
  24. }
  25. DFS(1, 0);
  26. for(int i = 1;i <= n;i++)
  27. w[i] = 0;
  28. DFS(Knust, 0);
  29. cout << Maks;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement