Cod sursa(job #2348881)

Utilizator Anastasia11Susciuc Anastasia Anastasia11 Data 20 februarie 2019 02:32:41
Problema Diametrul unui arbore Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.74 kb
#include <fstream>
#include <cstdio>
#include <vector>
#include <cstring>
#define Nmax 100001

using namespace std;

ofstream g("darb.out");

int n, nod, ans;
bool seen[Nmax];
vector <int> v[Nmax];

void dfs(int x, int nr)
{
    seen[x] = 1;
    if (nr > ans)
    {
        ans = nr;
        nod = x;
    }
    for (int i = 0, l=v[x].size(); i < l; i++)
        if (!seen[v[x][i]]) dfs(v[x][i], nr+1);

}
int main()
{
    freopen("darb.in", "r", stdin);
    scanf("%d", &n);
    for (int i = 1, x, y; i <= n; i++)
    {
        scanf("%d%d", &x, &y);
        v[x].push_back(y);
        v[y].push_back(x);
    }

    dfs(1, 1);
    memset(seen, 0, sizeof(seen));
    dfs(nod, 1);

    g << ans;
    return 0;
}