您的位置:首页 > 其它

北邮新OJ92

2014-04-09 23:05 295 查看
http://code.bupt.edu.cn/problem/p/92/

#include<stdio.h>
struct stu
{
int p;
int c[1001];
int csum;
int sum;

}S[1001];

int mark[1001];
int total;
main()
{
int t,n,i,j,a,b,x;
int k,r;
while(scanf("%d",&t)!=EOF)
{

for(i=1;i<=t;i++)
{    r=0;
total=0;
S[0].sum=0;
for(k=0;k<=1000;k++)
{ mark[k]=0;
S[k].csum=0;
}
scanf("%d",&n);
for(j=1;j<=n-1;j++)
{

scanf("%d%d",&a,&b);
if(total==0)
{
mark[a]=1;
mark[b]=1;
total+=2;
S[a].p=0;
S[a].sum=1;
S[a].csum++;
x= S[a].csum;
S[a].c[x]=b;
S[b].p=a;
S[b].sum=1;

}
else
{
mark[b]=1;
total+=1;
S[a].sum++;
S[a].csum++;
x= S[a].csum;
S[a].c[x]=b;
S[b].p=a;
S[b].sum=1;
}
}
for(k=0;k<=1000;k++)
{
if(mark[k]==1)
{
int fa=S[k].p;
int q;
if(S[k].sum>=S[fa].sum)
{
int yes=1;
int tmp;
for(q=1;q<=S[k].csum;q++)
{
tmp=S[k].c[q];
if(S[tmp].sum>S[k].sum)
{ yes=0;
break;
}
}
if(yes==1)
r++;
}
}
}
printf("%d\n",r);
}
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: