Cod sursa(job #2373912)

Utilizator AngelEclipseGarleanu Alexandru Stefan AngelEclipse Data 7 martie 2019 15:51:22
Problema Diametrul unui arbore Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.75 kb
#include <bits/stdc++.h>

using namespace std;

bool v[100005];

vector<int> graf[100005];
int startNode, diam = 0;

ifstream f("darb.in");
ofstream g("darb.out");

int DFS(int nod)
{
    startNode = nod;
    v[nod] = true;
    for (int i = 0; i < graf[nod].size(); i++)
    {
        if (!v[graf[nod][i]])
        {
            diam++;
            DFS(graf[nod][i]);
        }
    }
}

int main()
{
    int N;
    f >> N;
    for (int i = 0, a, b; i < N - 1; i++)
    {
        f >> a >> b;
        graf[a].push_back(b);
        graf[b].push_back(a);
    }
    DFS(1);
    int copieStart = startNode;
    diam = -1;
    for(int i = 0; i < N; i++)
    {
        v[i] = false;
    }
    DFS(copieStart);
    g << diam;
}