Cod sursa(job #2643900)

Utilizator anabatAna Batrineanu anabat Data 22 august 2020 09:44:19
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <stdio.h>

using namespace std;

#define NMAX 100000
#include <vector>

vector <int> g[NMAX+1];
int MAX,frunza;

int dfs(int nod,int tata,int dist){
  if(dist>MAX){
    MAX=dist;
    frunza=nod;
  }
  for(auto next : g[nod]){
    if(next!=tata){
      dfs(next,nod,dist+1);
    }
  }
}

int main()
{
  FILE *fin,*fout;
  fin=fopen("darb.in","r");
  fout=fopen("darb.out","w");

  int n,i,a,b;
  fscanf(fin,"%d",&n);
  for(i=1;i<=n;i++){
    fscanf(fin,"%d%d",&a,&b);
    g[a].push_back(b);
    g[b].push_back(a);
  }
  dfs(1,0,0);
  MAX=0;
  dfs(frunza,0,0);
  fprintf(fout,"%d",MAX+1);

  fclose(fin);
  fclose(fout);
  return 0;
}