Pagini recente » Cod sursa (job #1183146) | Cod sursa (job #2336981) | Cod sursa (job #2166498) | Cod sursa (job #2003095) | Cod sursa (job #103763)
Cod sursa(job #103763)
#include<stdio.h>
#include<string.h>
int n, max;
typedef struct nod
{
int inf, val;
nod *a;
} *pNod;
pNod l[100003];
int viz[100003], nc;
void BF()
{
pNod p, u, r, q;
p=new nod;
p->inf=1;
p->val=0;
p->a=NULL;
u=p;
viz[1]=1;
while (p)
{
int v=p->inf;
for (q=l[v]; q; q=q->a)
if (!viz[q->inf])
{
r=new nod;
q->val=p->val+1;
r->inf=q->inf;
r->val=q->val;
r->a=NULL;
u->a=r;
u=r;
viz[q->inf]=1;
p->val++;
if (p->val>max) max=p->val;
}
p=p->a;
}
}
int main()
{
freopen("zvon.in","r",stdin);
freopen("zvon.out","w",stdout);
int t, i, x, y;
scanf("%d",&t);
while (t)
{
scanf("%d",&n);
for (i=1; i<=n; i++) viz[i]=0;
pNod q;
for (i=1; i<=n-1; i++)
{
scanf("%d %d",&x,&y);
q=new nod;
q->inf=x;
q->a=l[y];
l[y]=q;
q=new nod;
q->inf=y;
q->a=l[x];
l[x]=q;
}
max=0;
BF();
printf("%d\n",max);
t--;
}
return 0;
}