标签:kari oj
给出一棵有向树,一共有
如样例,第一组的p节点为1,2,3;第二组的p节点为0。
第一行为数据组数
每组数据第一行为
每组数据输出一行,为一个整数,代表这棵树上p节点的个数。
2
5
0 1
1 2
2 3
3 4
3
0 2
0 1
3
1
#include<stdio.h> #include<stdlib.h> int head[1001],du[1001],k; typedef struct Edge { int v,next; }Edge; Edge edge[2002]; void addEdge(int u,int v) { edge[k].v=v; edge[k].next=head[u]; head[u]=k++; } int main() { int t; while(~scanf("%d",&t)) { while(t--) { int n,i,j; scanf("%d",&n); k=0; for(i=0;i<=n;i++) { head[i]=-1; du[i]=0; } for(i=0;i<n-1;i++) { int u,v; scanf("%d%d",&u,&v); addEdge(u,v); addEdge(v,u); du[u]++; du[v]++; } int sum=0; for(i=0;i<n;i++) { int flag=0; for(j=head[i];j!=-1;j=edge[j].next) { int v=edge[j].v; if(du[i]<du[v]) { flag=1; break; } } if(!flag) sum++; } printf("%d\n",sum); } } return 0; }
标签:kari oj
原文地址:http://blog.csdn.net/ruzhuxiaogu/article/details/44523167