Pagini recente » Cod sursa (job #3258783) | Cod sursa (job #1562106) | Cod sursa (job #3258634) | Cod sursa (job #660356) | Cod sursa (job #1701444)
#include <cstdlib>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n,start,c[100001],u,p,lungime;
vector <int> v[100001];
int viz[100001];
void read() {
f >> n;
for(int i = 0; i < n-1; i++) {
int a,b;
f >> a >> b;
v[a].push_back(b);
v[b].push_back(a);
}
}
void BF(int x)
{
lungime = 1;
c[1]=x;
viz[x]=1;
p=u=1;
while(p <= u) {
int nod = c[p];
p++;
for(int i = 0; i < v[nod].size(); i++) {
if(!viz[v[nod][i]]) {
u++;
c[u] = v[nod][i];
viz[v[nod][i]] = viz[nod] + 1;
}
}
}
start = c[u];
}
int main(int argc, char** argv) {
read();
BF(1);
for(int i = 1; i <= n; i++) {
viz[i] = 0;
}
BF(start);
g << viz[start];
return 0;
}