Pagini recente » Cod sursa (job #1120704) | Rezultatele filtrării | Cod sursa (job #2208711) | Diferente pentru problema/dmin intre reviziile 6 si 4 | Cod sursa (job #1876491)
#include <iostream>
#include <fstream>
#include <vector>
#define NMax 100005
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int N,K;
vector<int> Graf[NMax];
int viz[NMax];
int ultimulNod,nrMax;
int nrDFS;
void Read()
{
fin>>N>>K;
for(int i=1;i<N;i++)
{
int x,y;
fin>>x>>y;
Graf[x].push_back(y);
Graf[y].push_back(x);
}
}
void DFS(int nod,int nr)
{
viz[nod]=nrDFS;
if(nr>nrMax)
nrMax=nr, ultimulNod=nod;
for(vector<int>::iterator it=Graf[nod].begin();it!=Graf[nod].end();it++)
if(viz[*it]!=nrDFS)
DFS(*it,nr+1);
}
int main()
{
Read();
nrDFS=1; viz[1]=nrDFS; DFS(1,1);
nrDFS=2; nrMax=0; DFS(ultimulNod,1);
fout<<nrMax;
return 0;
}