Pagini recente » Cod sursa (job #1881187) | Cod sursa (job #1539563) | Cod sursa (job #1702064) | Cod sursa (job #1741931) | Cod sursa (job #1182431)
/*
Keep It Simple!
*/
#include<fstream>
#include<vector>
#include<string.h>
#define MaxN 100005
using namespace std;
int dist[MaxN],maxv,maxp,N;
vector<int> G[MaxN];
void DFS(int node)
{
for(size_t i=0;i<G[node].size();i++)
{
int vecin = G[node][i];
if(!dist[vecin])
{
dist[vecin] = dist[node]+1;
if(dist[vecin]>maxv)
{
maxv = dist[vecin];
maxp = vecin;
}
DFS(vecin);
}
}
}
int main()
{
ifstream f("heap.in");
ofstream g("heap.out");
f >> N;
int x,y;
for(int i=1;i<N;i++)
{
f >> x >> y;
G[x].push_back(y);
G[y].push_back(x);
}
dist[1] = 1;
DFS(1);
memset(dist,0,sizeof(dist));
int aux = maxp;
maxv = maxp = 0;
dist[aux] = 1;
DFS(aux);
g << maxv;
}