Pagini recente » Cod sursa (job #1688785) | Cod sursa (job #1212738) | Cod sursa (job #2518800) | Cod sursa (job #943781) | Cod sursa (job #3250073)
#include <fstream>
#include <vector>
#include <climits>
#include <queue>
using namespace std;
ifstream fin ("darb.in");
ofstream fout ("darb.out");
int n,m;
vector<int> Graf[100001];
int dist[100001];
int frcv[100001];
int nodDepartat;
int cnt=0;
int nmax=0;
int node=0;
void dfs1(int nod)
{
if(frcv[nod] > nmax)
{
nmax=frcv[nod];
node=nod;
}
for(int vec : Graf[nod])
{
if(!frcv[vec])
{
frcv[vec]= frcv[nod]+1;
dfs1(vec);
}
}
}
int main (){
fin >> n;
for(int i=1;i<n;i++)
{
int x,y;
fin >> x >> y;
Graf[x].push_back(y);
Graf[y].push_back(x);
}
frcv[1]=1;
dfs1(1);
nmax=0;
for(int i=1;i<=n;i++) frcv[i]=0;
dfs1(node);
fout << nmax+1;
return 0;
}