Cod sursa(job #2503182)
Utilizator | Divia Negoescu divianegoescu | Data | 2 decembrie 2019 17:19:37 |
---|---|---|---|
Problema | Diametrul unui arbore | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.57 kb |
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n,i,x,y,ind,nod,dmax,f[100002],sol;
vector <int> v[100002];
int dfs(int x,int niv){
f[x]=1;
if(niv>dmax){dmax=niv;nod=x;}
for(int i=0;i<v[x].size();i++)
if(!f[v[x][i]])
dfs(v[x][i],niv+1);
}
int main(){
fin>>n;
for(i=1;i<n;i++){
fin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);
}
dfs(1,1);
for(i=1;i<=n;f[i]=0,i++);
dfs(nod,1);
fout<<dmax;
return 0;
}