Pagini recente » Borderou de evaluare (job #2949915) | Cod sursa (job #3038093) | Cod sursa (job #1568831)
#include <fstream>
#include <vector>
#include <cstring>
#define N 100010
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector<int> v[N];
int n,i,j,k,a,sol,niv[N],Q[N],bfs(int);
int main()
{
f>>n;
for(i=2;i<=n;i++)
{
f>>j>>k;
v[j].push_back(k);
v[k].push_back(j);
}
bfs(1);
g<<bfs(Q[n]);
return 0;
}
int bfs(int nod)
{
memset(niv,0,sizeof(niv));
Q[1]=nod;niv[nod]=1;
for(i=1,j=2;i<=n;i++)
for(auto it:v[Q[i]])
if(!niv[it])
{
niv[it]=niv[Q[i]]+1;Q[j++]=it;
}
return niv[Q[n]];
}