Cod sursa(job #99562)

Utilizator razvi9Jurca Razvan razvi9 Data 11 noiembrie 2007 12:50:33
Problema Zvon Scor 0
Compilator cpp Status done
Runda Happy Coding 2007 Marime 0.68 kb
#include<vector>
#include<algorithm>
#include<stdio.h>
using namespace std;
int t,n,i,x,y;
vector <int> a[100001];
int df(int vf)
{int i,min,j;
 vector <int> v;
 min=0;
 for(i=0;i<a[vf].size();i++)
  v.insert(v.end(),df(a[vf][i])+1);
 std::sort(v.begin(),v.end());
 for(i=v.size()-1,j=0;i>=0;i--,j++)
  if(v[i]+j>min) min=v[i]+j;
 return min;}

int main()
{freopen("zvon.in","r",stdin);
 freopen("zvon.out","w",stdout);
 scanf("%d",&t);
 for(;t;t--)
 {scanf("%d",&n);
  for(i=1;i<=n;i++) a[x].erase(a[x].begin(),a[x].end());
  for(i=1;i<n;i++) {scanf("%d %d",&x,&y); a[x].push_back(y);}
  if(n==1) printf("0\n");
  else printf("%d\n",df(1));}
 fclose(stdout);
 return 0;}