Norvager

http://lerna.pro/contests/337/4

Oct 28th, 2018
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.82 KB | None | 0 0
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <iostream>
  3. #include <vector>
  4. using namespace std;
  5. vector<vector <int>> way;
  6. vector<bool> used;
  7. vector<int> ans;
  8. int cur_mx;
  9. int dfs(int pos)
  10. {
  11. for (int i = 0; i < way[pos].size(); i++)
  12. if (used[way[pos][i]])
  13. {
  14. used[way[pos][i]] = false;
  15. ans[way[pos][i]] = ans[pos] + 1;
  16. dfs(way[pos][i]);
  17. }
  18. if (ans[pos] > cur_mx)
  19. cur_mx = ans[pos];
  20. return cur_mx;
  21. }
  22.  
  23. int main()
  24. {
  25. int n;
  26. scanf("%d", &n);
  27. way.resize(n + 1);
  28. for (int i = 0; i < n - 1; i++)
  29. {
  30. int a, b;
  31. scanf("%d %d", &a, &b);
  32. way[a].push_back(b);
  33. way[b].push_back(a);
  34. }
  35. int mx = 0;
  36. for (int i = 1; i <= n; i++)
  37. {
  38. cur_mx = 0;
  39. ans.resize(n + 1, 1);
  40. used.resize(n + 1, true);
  41. int t = dfs(i);
  42.  
  43. if (mx < t)
  44. mx = t;
  45. }
  46.  
  47. printf("%d", mx);
  48. return 0;
  49. }
Add Comment
Please, Sign In to add comment