Cod sursa(job #2711463)

Utilizator PulpysimusJurjiu Tandrau Darius Stefan Pulpysimus Data 24 februarie 2021 10:26:23
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;
ifstream f("darb.in");
ofstream g("darb.out");
vector <int> G[100001];
int n,maxi,deepest,node2;
bool viz[100001];
void read(){
    int a,b,i;
    f>>n;
    for(i=1;i<n;i++)
    {
        f>>a>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
}
void DFS1(int node, int dist)
{
    viz[node]=1;
    if(dist>maxi) {maxi=dist; deepest=node;}
    for(auto x:G[node])
    {
        if(!viz[x]) DFS1(x,dist+1);
    }
    viz[node]=0;
}
int main()
{
    read();
    DFS1(1,0);

    DFS1(deepest,0);
    g<<maxi+1;
}