Cod sursa(job #1705188)

Utilizator madalina41724Madalina Marin madalina41724 Data 20 mai 2016 00:39:53
Problema Diametrul unui arbore Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#include <vector>


using namespace std;

struct nod{
    vector<int>fii;
}arbore[10000];


    int n,a,b,lungime=0,frunza;
void dfs(int i, int distanta)
{

if(arbore[i].fii.size()!=0){
 lungime++;
 for(int j=0;j<arbore[i].fii.size();j++){
 dfs(arbore[i].fii[j],distanta+1);}}
else {
    if(distanta>lungime)
{frunza=i; lungime=distanta;}
}





}
int main(){
ifstream f("darb.in");
ofstream g("darb.out");

    f>>n;
//cout<<n<<endl;
   while(f>>a>>b)

      arbore[a].fii.push_back(b);

   dfs(1,0);
   dfs(frunza,0);

   g<<lungime+1;
   return 0;
}