Pagini recente » Cod sursa (job #322735) | Cod sursa (job #1560001) | Cod sursa (job #2607892) | Cod sursa (job #448251) | Cod sursa (job #2671742)
#include <bits/stdc++.h>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
queue <int> c;
vector <int> nod[1000005];
int sol,y,n;
void bfs(int x)
{
int v[1000005],viz[1000005];
memset(viz,0,1000004);
memset(v,0,1000004);
c.push(x);
v[x]=1;
viz[x]=1;
while(!c.empty())
{
int aux=c.front();
for(int i=0;i<nod[aux].size();i++)
{
if(v[nod[aux][i]]==0)
{
viz[nod[aux][i]]=1;
v[nod[aux][i]]=v[aux]+1;
c.push(nod[aux][i]);
y=nod[aux][i];
sol=v[nod[aux][i]];
}
}
c.pop();
}
}
int main()
{
f >> n;
for(int i=1;i<=n-1;i++)
{
int x,y;
f >> x >> y;
nod[x].push_back(y);
nod[y].push_back(x);
}
bfs(1);
bfs(y);
g << sol;
f.close();
g.close();
return 0;
}