Pagini recente » Istoria paginii utilizator/mutrescutudor | Istoria paginii runda/terente.1/clasament | Istoria paginii utilizator/raluca2312 | Cod sursa (job #2016988) | Cod sursa (job #2189940)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int NMAX = 100005;
int n, nivm, poz;
int viz[NMAX];
vector<int>G[NMAX];
void DFS(int Nod, int niv) {
viz[Nod]=1;
if(niv>nivm) {
nivm=niv;
poz=Nod;
}
for(unsigned i=0; i<G[Nod].size(); ++i) {
int v=G[Nod][i];
if(!viz[v])
DFS(v, niv+1);
}
}
int main() {
int x,y;
fin>>n;
for(int i=1; i<=n; ++i) {
fin>>x>>y;
G[x].push_back(y);
G[y].push_back(x);
}
DFS(1,0);
for(int i=1; i<=n; ++i)
viz[i]=0;
DFS(poz, 0);
fout<<nivm+1;
return 0;
}