Pagini recente » Cod sursa (job #2071168) | Cod sursa (job #1560069) | Cod sursa (job #1469770) | Cod sursa (job #1151242) | Cod sursa (job #1238232)
#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]]=f[nod]+1;
}
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<<f[c[n]]<<"\n";
return 0;
}