Pagini recente » Cod sursa (job #2473408) | Cod sursa (job #2499770) | Cod sursa (job #2647216) | Cod sursa (job #1548573) | Cod sursa (job #1238231)
#include <fstream>
#include <vector>
#include <cstring>
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
int n,x,y,i,niv,p,u,ok;
int c[100010],f[100010];
vector <int> l[100010];
void bfs (int nod) {
memset (f,0,sizeof(f));
f[nod]=1;
c[1]=nod;
p=u=1;
while (p<=u) {
nod=c[p];ok=0;
for (int i=0;i<l[nod].size();i++)
if (!f[l[nod][i]]) {
ok=1;
c[++u]=l[nod][i];
f[l[nod][i]]=1;
}
if (ok)
niv++;
p++;
}
}
int main () {
fin>>n;
for (i=1;i<n;i++) {
fin>>x>>y;
l[x].push_back(y);
l[y].push_back(x);
}
bfs(1);
niv=0;
bfs(c[n]);
fout<<niv<<"\n";
return 0;
}