fork download
  1. #include <iostream>
  2. using namespace std;
  3. #include<bits/stdc++.h>
  4.  
  5.  
  6. typedef long long ll;
  7.  
  8.  
  9.  
  10. ll dfs(ll v ,vector<ll>*adj,ll *vis,ll &d)
  11. {
  12. vis[v]=1;
  13.  
  14. for(int i=0;i<adj[v].size();i++)
  15. {
  16. if(!vis[adj[v][i]])
  17. {
  18. d++;
  19. return dfs(adj[v][i] ,adj,vis,d);
  20.  
  21. }
  22.  
  23.  
  24. }
  25.  
  26. return v;
  27.  
  28. }
  29.  
  30. int main()
  31. {
  32. ll v,x,y,n,e;
  33.  
  34.  
  35. cin>>v;
  36. if(v==1)
  37. {
  38. cout<<0;
  39.  
  40.  
  41. }
  42. else
  43. {
  44. vector<ll>adj[v];
  45. e=v-1;
  46.  
  47. while(e--)
  48. {
  49. cin>>x>>y;
  50. x--;
  51. y--;
  52. adj[x].push_back(y);
  53. adj[y].push_back(x);
  54.  
  55. }
  56. ll vis[v]={0};
  57. ll d=0;
  58.  
  59. ll x1 = dfs( x ,adj,vis,d);
  60. //cout<<d<<endl;
  61.  
  62. d=0;
  63.  
  64. for(int i=0;i<v;i++)
  65. {
  66. vis[i]=0;
  67. }
  68. ll x2 = dfs( x1 ,adj,vis,d);
  69. cout<<d;
  70.  
  71.  
  72. }
  73.  
  74. }
  75.  
  76.  
  77.  
  78.  
  79.  
Runtime error #stdin #stdout 0s 5528KB
stdin
Standard input is empty
stdout
Standard output is empty