Pagini recente » Cod sursa (job #954605) | Cod sursa (job #975201) | Cod sursa (job #1953678) | Cod sursa (job #581895) | Cod sursa (job #2195815)
#include <fstream>
#include <vector>
#define NMAX 100010
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
vector <int> G[NMAX];
int n;
int diamax, poz;
int uz[NMAX];
void citire();
void dfs(int k, int diametru);
int main()
{
citire();
dfs(1, 1);
dfs(poz, 1);
fout<<diamax<<'\n';
return 0;
}
void citire()
{int i, a, b;
fin>>n;
for (i=1; i<n; i++)
{fin>>a>>b;
G[a].push_back(b);
G[b].push_back(a);
uz[i]=0;
}
}
void dfs(int k, int diametru)
{int i;
uz[k]=1;
if (diametru>diamax)
{diamax=diametru;
poz=k;
}
for (i=0; i<G[k].size(); i++)
if (uz[G[k][i]]==0)
dfs(G[k][i], diametru+1);
}