Pagini recente » Cod sursa (job #1779253) | Cod sursa (job #666441) | Cod sursa (job #806909) | Cod sursa (job #1088019) | Cod sursa (job #2195799)
#include <fstream>
#include <vector>
#define NMAX 100005
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
vector<int> a[NMAX];
int n;
int niv[NMAX], maxim=-1, pmax;
bool viz[NMAX];
void dfs(int x, int dist);
int main()
{
fin>>n;
int x, y, i;
for (i=1; i<=n-1; i++)
{
fin>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
dfs(1, 1);
for (i=1; i<=n; i++)
viz[i]=0;
maxim=-1;
dfs(pmax, 1);
fout<<maxim<<'\n';
return 0;
}
void dfs(int x, int dist)
{
int big=a[x].size(), i;
viz[x] = 1;
if(dist>maxim)
{maxim=dist;
pmax=x;}
for (i=0; i<big; i++)
{if (!viz[a[x][i]])
dfs(a[x][i], dist+1);
}
}