Pagini recente » Cod sursa (job #2121387) | Cod sursa (job #2170773) | Cod sursa (job #3232779) | Cod sursa (job #2867610) | Cod sursa (job #1094401)
#include <fstream>
#include <vector>
#include <cstring>
const int NMAX = 100003;
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
int n,i,sol,start,x,y;
bool used[NMAX];
vector <int> G[NMAX];
void DFS(int nod, int nivel)
{
int i;
used[nod]=1;
if (nivel>sol)
{
sol=nivel;
start=nod;
}
for (i=0;i<G[nod].size();i++)
{
if (!used[G[nod][i]])
{
DFS(G[nod][i],nivel+1);
}
}
}
int main()
{
f>>n;
for (i=1;i<=n-1;i++)
{
f>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
DFS(1,1);
memset(used,0,sizeof used);
DFS(start,1);
g<<sol;
f.close();
g.close();
return 0;
}