Pagini recente » Cod sursa (job #3241230) | Cod sursa (job #2822117) | Cod sursa (job #1152598) | Cod sursa (job #1433119) | Cod sursa (job #210910)
Cod sursa(job #210910)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin ("zvon.in");
ofstream fout ("zvon.out");
struct nod
{
int info;
nod* urm;
};
nod *s[100010];
int a[100010],n;
void add(int x,int y){
nod *q=new nod;
q->info=y;
q->urm=s[x];
s[x]=q;
}
int nr(int x){
if (!s[x])
return 0;
else{
int niv[n],nr1=0;;
for (nod *j=s[x];j;j=j->urm)
niv[nr1++]=nr(j->info);
sort(niv,niv+nr1);
int max=0;
for (int i=0;i<nr1;i++)
if (max<(niv[i]+nr1-i))
max=niv[i]+nr1-i;
return max;
}
}
void citire(){
int x,y;
fin>>n;
for (int i=0;i<n-1;i++)
{
fin>>x>>y;
add(x,y);
}
if (n!=1)
fout<<nr(1)<<"\n";
else
fout<<"0"<<"\n";
for (int i=0;i<n;i++)
{
s[i]=NULL;
a[i]=0;
}
}
void parcurgere(){
int nr;
fin>>nr;
for(int i=0;i<nr;i++)
citire();
}
int main (){
int nr;
parcurgere();
return 0;
}