Pagini recente » Cod sursa (job #2267518) | Cod sursa (job #2664354) | Cod sursa (job #1778328) | Cod sursa (job #1067652) | Cod sursa (job #1468154)
#include <fstream>
#include <memory.h>
#include <queue>
#include <vector>
#include <cstdio>
#define NMAX 100002
using namespace std;
ofstream fout("darb.out");
int viz[NMAX],a,b;
vector<int> G[NMAX];
int n,lastNod;
void BFS(int nod)
{
queue<int> co;
memset(viz,-1,sizeof(viz));
viz[nod]=1;
co.push(nod);
while(!co.empty())
{
lastNod = co.front();
co.pop();
for(int i=0;i<G[lastNod].size();i++)
if(viz[G[lastNod][i]]==-1)
{
co.push(G[lastNod][i]);
viz[G[lastNod][i]]=viz[lastNod]+1;
}
}
}
int main()
{
freopen("darb.in","r",stdin);
scanf("%d",&n);
for(int i=1;i<n;i++)
{
scanf("%d%d",&a,&b);
G[a].push_back(b);
G[b].push_back(a);
}
BFS(1);
BFS(lastNod);
fout<<viz[lastNod];
return 0;
}