Pagini recente » Cod sursa (job #2712105) | Cod sursa (job #2320012) | Cod sursa (job #2404611) | Cod sursa (job #2662362) | Cod sursa (job #2590861)
#include <fstream>
#include <vector>
#include <iostream>
#include <cstring>
using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector <int> v[100001];
bool viz[100001];
int maxx, frunza, x, y, n, i;
void dfs(int nod, int lg)
{
if(lg > maxx)
{
maxx = lg;
frunza = nod;
}
viz[nod] =1;
for(vector <int> :: iterator it = v[nod].begin(); it != v[nod].end(); ++ it)
if(!viz[*it]) dfs(*it, lg + 1);
}
int main()
{
f >> n;
while(f >> x >> y)
{
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1, 1);
memset(viz, 0, sizeof(viz));
dfs(frunza, 1);
g << maxx;
return 0;
}