nyoj-20-吝啬的国度

#include
#include
#define MAX 100003
struct node
{
    int num;
    node *next;
};
struct datatype
{
    int data;
    node *linkcity;
}map[MAX];
void DFS(int m,int t)
{
 node *p;
 map[m].data=t;
 p=map[m].linkcity;
 while(p)
 {
  if(map[p->num].data==0)
   DFS(p->num,m);
  p=p->next;
 }
}

int main()
{
    int s,n,m;
    scanf("%d",&s);
    while(s--)
    {
        int i,a,b;
        node *p;
        scanf("%d%d",&n,&m);
        for(i=0;i<=n;i++)
        {
            map[i].data=0;
   map[i].linkcity=NULL;
  }
  for(i=1;i   {
   scanf("%d%d",&a,&b);
   p=new node;
   p->num=b;
   p->next=map[a].linkcity;
   map[a].linkcity=p;
   p=new node;
   p->num=a;
   p->next=map[b].linkcity;
   map[b].linkcity=p;
  }
  DFS(m,-1);
  for(i=1;i<=n;i++)
   printf("%d ",map[i].data);
  printf("\n");
 }
 return 0;
}

你可能感兴趣的:(nyoj-20-吝啬的国度)