Cod sursa(job #3237029)

Utilizator nistor_dora_valentinaNistor Dora Valentina nistor_dora_valentina Data 4 iulie 2024 11:20:22
Problema Diametrul unui arbore Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <vector>

using namespace std;
ifstream fin("darb.in");
ofstream fout("darb.out");
int n, m, i, x, y, viz[200005], nr, maxim, nodmax;
vector <int> v[200005];
void dfs(int nod, int adc)
{
    viz[nod]=adc;
    for(auto i:v[nod])
        if(viz[i]==0)
            dfs(i, adc+1);
}
int main()
{
   fin>>n;
   for(i=1; i<n; i++)
   {
       fin>>x>>y;
       v[x].push_back(y);
       v[y].push_back(x);
   }
   dfs(1, 1);
   for(i=1; i<=n; i++)
   {
      if(maxim<viz[i])
      {
          maxim=viz[i];
          nodmax=i;
      }
      viz[i]=0;
   }
   dfs(nodmax, 1);
   for(i=1; i<=n; i++)
   {
      if(maxim<viz[i])
      {
          maxim=viz[i];
          nodmax=i;
      }
      viz[i]=0;
   }
   fout<<maxim<<" ";
    return 0;
}