Pagini recente » Cod sursa (job #1904260) | Cod sursa (job #1613276) | Cod sursa (job #2680277) | Cod sursa (job #1061554) | Cod sursa (job #105012)
Cod sursa(job #105012)
#include <stdio.h>
#include <string.h>
#define N_MAX 100001
int T,N,c[N_MAX],fii[N_MAX],t[N_MAX],max[N_MAX];
int main(){
int k,i,a,b,p,u;
FILE *fin=fopen("zvon.in","r");
fscanf(fin,"%d",&T);
FILE *fout=fopen("zvon.out","w");
for (k=1;k<=T;k++){
fscanf(fin,"%d",&N);
for (i=1;i<N;i++){
fscanf(fin,"%d %d",&a,&b);
fii[a]++;t[b]=a;
}
p=u=0;
for (i=1;i<=N;i++){
max[i]=0;
if (fii[i]==0)
c[++u]=i;
}
p=1;
while (p<=u){
a=c[p];
b=t[a];
if (max[a]+fii[b]>max[b])
max[b]=max[a]+fii[b];
fii[b]--;
if ((fii[b]==0)&&(t[b]!=0))
c[++u]=b;
p++;
}
fprintf(fout,"%d\n",max[1]);
memset(t,0,N+1);
}
fclose(fin);
fclose(fout);
return 0;
}