Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- vector<vector<int>>v(160),r(160);
- int vis[10005],num[160],f[160],low[160],T;
- vector<int>top,tt;
- typedef long long ll;
- vector<pair<int,int>>p[10005];
- ll dfs(int n,int fr)
- {
- vis[n]=1;
- ll t=0;
- for(int i=0;i<p[n].size();i++)
- {
- if(!vis[p[n][i].first]){
- // if(p[n][i].first!=fr)
- t=max(dfs(p[n][i].first,n)+p[n][i].second,t);
- }
- }
- return t;
- }
- char ss[30];
- int main()
- {
- ll n,m,c,ma=0;
- bool ok=1;
- while(ok)
- {
- int zz=0;
- // memset(vis,0,sizeof(vis));
- //if(a==0&&b==0&&c==0)break;
- for(int i=0;i<=10001;i++)
- {
- p[i].clear();
- }
- while(1){
- if(gets(ss)==0)
- {
- ok=0;
- break;
- }
- if(ss[0]) {
- int a,b;
- sscanf(ss, "%d%d%d", &a, &b, &c);
- zz=max({zz,b,a});
- p[a].push_back(make_pair(b,c));
- p[b].push_back(make_pair(a,c));
- }
- else break;
- }
- for(int i=1;i<=zz;i++)
- {
- ma=max(ma,dfs(i,0));
- memset(vis,0,sizeof(vis));
- }
- cout<<ma<<endl;;
- ma=0;
- }
- return 0;
- }
Add Comment
Please, Sign In to add comment