Cod sursa(job #2322431)

Utilizator alexdumitrescuDumitrescu George Alex alexdumitrescu Data 17 ianuarie 2019 19:31:40
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <bitset>
#include <vector>

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

bitset <1000001> viz;
vector <int> v[1000001];

int n, a, b, i, maxx, nmaxx;

void dfs(int x, int k)
{
    int i;
    if(k>maxx)
    {
        maxx=k;
        nmaxx=x;
    }
    viz[x]=1;
    for(i=0;i<v[x].size();i++)
        if(viz[v[x][i]]==0)
            dfs(v[x][i], k+1);
}
int main()
{
    fin >> n;
    for(i=1;i<n;i++)
    {
        fin >> a >> b;
        v[a].push_back(b);
        v[b].push_back(a);
    }
    dfs(1, 1);
    maxx=0;
    viz.reset();
    dfs(nmaxx, 1);
    fout << maxx;
    return 0;
}