Cod sursa(job #3159888)

Utilizator CipriEuCruceanu Ciprian Constantin CipriEu Data 22 octombrie 2023 13:54:25
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
vector<int> graf[100001];
int n, v[100001], nmax, vmax;
void dfs(int nod, int depth){
    //cout<<nod<<" "<<depth<<"\n";
    v[nod] = depth;
    if(depth > vmax){
        nmax = nod;
        vmax = depth;
    }
    for(int i=0; i<graf[nod].size(); i++){
        int dest = graf[nod][i];
        if(!v[dest]) dfs(dest, depth+1);
    }
}
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);
    }
    dfs(1, 1);
    for(int i=1; i<=n; i++) v[i] = 0;
    vmax = 0;
    dfs(nmax, 1);
    fout<<vmax;
}