Cod sursa(job #1811641)

Utilizator LizaSzabo Liza Liza Data 21 noiembrie 2016 14:13:50
Problema Diametrul unui arbore Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
const int NMax=100005;
int N,Use[NMax],m,Vecin2,nod;
vector<int>G[NMax];
void read()
{
    fin>>N;
    for(int i=1;i<=N-1;++i)
    {
        int x,y;
        fin>>x>>y;
        G[x].push_back(y);
         G[y].push_back(x);

    }
}

void read2()
{
    fin>>N;
    for(int i=1;i<=N-1;++i)
    {
        int x,y;
        fin>>x>>y;
        G[y].push_back(x);

    }
}

 void DFS(int Nod)
{
    Use[Nod]=1;
    nod=Nod;
    for (int i=0;i<(int)G[Nod].size();++i)
    {
        int Vecin=G[Nod][i];
        if(!Use[Vecin]){
            DFS(Vecin);

}
    }
}

void DFS2(int Nod)
{
    Use[Nod]=1;
    for (int i=0;i<(int)G[Nod].size();++i)
    {
        int Vecin=G[Nod][i];
        if(!Use[Vecin]){
            DFS(Vecin);

        }
}
m++;
}

int main()
{
    read();
    DFS(1);
 DFS2(nod);

 fout<<m<<" ";
   return 0;
}