Pagini recente » Cod sursa (job #1970924) | Cod sursa (job #565167) | Cod sursa (job #2820553) | Cod sursa (job #3210486) | Cod sursa (job #2691987)
#include <iostream>
#include <queue>
#include <vector>
#include <fstream>
#include <string.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
queue <int> q;
int viz[100002];
vector <int> ad[100002];
int nod;
void bfs()
{
while(!q.empty())
{
nod = q.front();
for(auto &node: ad[nod])
{
if(viz[node] == 0)
{
viz[node] = viz[nod] + 1;
q.push(node);
}
}
q.pop();
}
}
int main()
{
int n;
fin>>n;
for(int i = 1; i < n; i ++)
{
int a,b;
fin>>a>>b;
ad[a].push_back(b);
ad[b].push_back(a);
}
int s = 1;
viz[s] = 1;
q.push(s);
bfs();
memset(viz,0,n*sizeof(viz[0]));
viz[nod] = 1;
q.push(nod);
bfs();
fout<<viz[nod];
return 0;
}