Cod sursa(job #2500898)

Utilizator OvidRata Ovidiu Ovid Data 28 noiembrie 2019 20:14:16
Problema Diametrul unui arbore Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include<bits/stdc++.h>
using namespace std;
#define pb push_back

ifstream fin("darb.in"); ofstream fout("darb.out");



int n, m, v1, v2;
vector<vector<int> > g;
vector<bool> v;


void dfs(int s, int p){
if(p+1>m){v1=s; m=p+1;}
v[s]=true;
    cout<<s<<endl;
for(auto i=g[s].begin(); i!=g[s].end(); i++){
    if(!v[*i]){
    dfs(*i, p+1);
    }
}

}






int main(){
fin>>n;

g.resize(n+5);
v.assign(n+5, false);

int n1, n2;

for(int i=1; i<n; i++){
fin>>n1>>n2;
g[n1].pb(n2);
g[n2].pb(n1);
}



dfs(1, 1);
v2=v1;
cout<<v2<<endl<<endl;
v.assign(n+5, false);

dfs(v2, 1);
fout<<(m-1)<<"\n";
cout<<v1<<endl;

    return 0;
}