Cod sursa(job #1703673)

Utilizator oldatlantianSerban Cercelescu oldatlantian Data 17 mai 2016 13:47:55
Problema Diametrul unui arbore Scor 40
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#define  MLC
#include <bits/stdc++.h>
using namespace std;

vector<int> g[1005];
int         f[1005];
int r, l, b;

void dfs(int u, int k) {
    if(k>l) {
        r = u;
        l = k;
    }
    f[u] = b;

    for(auto &i:g[u])
        if(f[i]<b)
            dfs(i, k+1);
}

int main(void) {
    FILE *fi = fopen("darb.in", "r");
    FILE *fo = fopen("darb.out", "w");
    int m, n, u, v;

    fscanf(fi,"%d",&m);
    for(int i=0; i<m; ++i) {
        fscanf(fi,"%d%d",&u,&v);
        g[u].push_back(v);
        g[v].push_back(u);
    }
    b=1;
    dfs(1, 1);
    b=2;
    dfs(r, 1);


    fprintf(fo,"%d\n",l);
    fclose(fi);
    fclose(fo);
    return 0;
}