Pagini recente » Cod sursa (job #663629) | Cod sursa (job #900271) | Cod sursa (job #1669244) | Cod sursa (job #879899) | Cod sursa (job #2446119)
#include<bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n, x, y;
vector<int> v[100001];
bool viz[100001];
int dis[100001], maxim, a;
void dfs(int nod, int dist);
int main()
{
f>>n;
for(int i=1; i<=n-1; i++)
{
f>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1, 1);
for(int i=2; i<=n; i++)
if(maxim<dis[i])
maxim=dis[i], a=i;
memset(viz, 0, sizeof(viz));
dfs(a, 1);
for(int i=1; i<=n; i++)
if(maxim<dis[i])
maxim=dis[i];
g<<maxim;
return 0;
}
void dfs(int nod, int dist)
{
dis[nod]=dist;
viz[nod]=1;
for(int i=0; i<v[nod].size(); i++)
if(!viz[v[nod][i]]) dfs(v[nod][i], dist+1);
}