Cod sursa(job #103763)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 15 noiembrie 2007 16:41:27
Problema Zvon Scor 0
Compilator cpp Status done
Runda Happy Coding 2007 Marime 1 kb
#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;
}