Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- int vertex;
- list<int > v[10002];
- int vis[10002];
- int len[10003];
- void read()
- {
- cin>>vertex;
- for(int i=1;i<vertex;i++)
- {
- int x,y;
- cin>>x>>y;
- v[x].push_back(y);
- v[y].push_back(x);
- }
- }
- int dfs(int x,int val=0)
- {
- vis[x]=true;
- int ans=0,ans1=0;
- for(auto it=v[x].begin();it!=v[x].end();it++)
- {
- if(!vis[*it])
- {
- int x=dfs(*it,val+1);
- if(x>ans)
- {
- ans1=ans;
- ans=x;
- }
- else if(x>ans1)
- ans1=x;
- }
- }
- len[x]=ans+ans1;
- return ans+1;
- }
- int main()
- {
- ios_base::sync_with_stdio(0);
- cin.tie(0);cout.tie(0);
- //freopen("input.txt","r",stdin);
- read();
- dfs(1);
- cout<<*max_element(len,len+vertex+1)<<endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement