Maruf_Hasan

fartherst node by opi

Jan 31st, 2019
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define pb push_back
  3. #define siz 30005
  4. #define inf 1000000004
  5. #define mp make_pair
  6. #define rep(i,n) for(int i=0;i<n;i++)
  7. #define ll long long
  8. #define pii pair<int,int>
  9. using namespace std;
  10. int fx[]={0,0,-1,+1};
  11. int fy[]={-1,1,0,0};
  12. int u,x,mi=0,ans=0,y,cnt=1;
  13. vector<pii> vec[siz];
  14. int vis[siz]={0};
  15. int dis[siz];
  16. int DKT(int u)
  17. {
  18. memset(vis,0,sizeof vis);
  19. memset(dis,0,sizeof dis);
  20. queue<int>q;
  21. q.push(u);
  22. vis[u]=1;
  23. dis[u]=0;
  24. mi=0,ans=0;
  25. while(!q.empty())
  26. {
  27. int v=q.front();
  28. q.pop();
  29. rep(i,vec[v].size())
  30. {
  31. int w=vec[v][i].first;
  32. int we=vec[v][i].second;
  33. if(vis[w]==0)
  34. {
  35. vis[w]=1;
  36. dis[w]=dis[v]+we;
  37. if(dis[w]>mi){mi=dis[w];ans=w;}
  38. q.push(w);
  39. }
  40.  
  41. }
  42. }
  43. return ans;
  44.  
  45. }
  46. int main()
  47. {
  48. int t;
  49. cin>>t;
  50. while(t--)
  51. {
  52. rep(i,siz)
  53. vec[i].clear();
  54. int n;cin>>n;n--;
  55. while(n--)
  56. {
  57. scanf("%d %d %d",&u,&x,&y);
  58. vec[u].pb(mp(x,y));
  59. vec[x].pb(mp(u,y));
  60. }
  61. int v=DKT(u);
  62. int w=DKT(v);
  63. printf("Case %d: %d\n",cnt++,dis[w]);
  64. }
  65. return 0;
  66. }
  67. Chat Conversation End
  68. Type a message...
Advertisement
Add Comment
Please, Sign In to add comment