Cod sursa(job #2425196)

Utilizator lucianistratiIstrati Lucian lucianistrati Data 24 mai 2019 16:14:59
Problema Diametrul unui arbore Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.99 kb
#include <fstream>
//#include <bits/stdc++.h>
#include <iostream>
#include <vector>
#include <stdio.h>
#include <string>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int inf=1e9;
int N,M,i,j,a,b,viz[100001],maxi=-1,nod_max;
vector <int> G[100001];
void DFS_1(int nod,int len)
{
    viz[nod]=len;
    for(i=0;i<G[nod].size();i++)
    {
        if(viz[G[nod][i]]==0)
        {
            viz[G[nod][i]]=len+1;
            if(viz[G[nod][i]]>maxi)
            {
                maxi=viz[G[nod][i]];
                nod_max=G[nod][i];
            }
            DFS_1(G[nod][i],len+1);
        }
    }
}
int main()
{
    fin>>M;
    for(i=1;i<=M;i++)
    {
        fin>>a>>b;
        G[a].push_back(b);
        G[b].push_back(a);
    }
    //memset(viz,-1,100000);
    DFS_1(1,0);
    int x;
    //cout<<nod_max<<" "<<maxi<<" ";
        for(i=0;i<100000;i++){viz[i]=0;}
    DFS_1(nod_max,0);
    fout<<nod_max;//<<" "<<maxi;
    return 0;
}