Cod sursa(job #2195798)

Utilizator mariarinzilaMaria Brinzila mariarinzila Data 17 aprilie 2018 13:30:17
Problema Diametrul unui arbore Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.87 kb
#include <fstream>
#include <vector>
#define NMAX 100010

using namespace std;

ifstream fin("darb.in");
ofstream fout("darb.out");

vector<int> G[NMAX];
int n, dmax, poz;
int viz[NMAX];

void citire();
void init();
void dfs(int x, int dr);

int main()
{citire();
 dfs(1, 1);
 init();
 dfs(poz, 1);
 fout<<dmax<<'\n';
 return 0;
 fin.close();
 fout.close();
}


void citire()
    {int i, a, b;
     fin>>n;
     for (i=1; i<n; i++)
          {fin>>a>>b;
           G[a].push_back(b);
           G[b].push_back(a);
          }
    }


void dfs(int x, int dr)
    {int i;
     viz[x]=1;
     if (dr>dmax)
         {dmax=dr;
          poz=x;
         }
     for (i=0; i<G[x].size(); i++)
          if (viz[G[x][i]]==0)
              dfs(G[x][i], dr+1);
    }


void init()
    {int i;
     for (i=0; i<=n; i++)
          viz[i]=0;
    }