HDU 5326 Work
2015-07-28 20:05
218 查看
分析:一个公司有n个人,给你n-1对关系a b,代表a管理b,问你有多少人管理k个人。遍历每个人管理的人的数量count,如果count==k,ans++;遍历的思想就是BFS。
# include <stdio.h> # include <malloc.h> # include <string.h> typedef struct node { int num; struct node *next; }Node; Node *T[105]; int main() { int i,n,x,k,a,b,ans,count,front,rear,q[105],visit[105]; Node *e; while(scanf("%d%d",&n,&k)!=EOF) { for(i=1;i<=n;i++) T[i]=NULL; for(i=1;i<n;i++) { scanf("%d%d",&a,&b); e=(Node *)malloc(sizeof(Node)); e->num=b; e->next=T[a]; T[a]=e; } for(i=1,ans=0;i<=n;i++) { memset(visit,0,sizeof(visit)); front=rear=count=0;visit[i]=1; for(e=T[i];e;e=e->next) { q[rear++]=e->num; count++;visit[e->num]=1; } while(front<rear) { x=q[front++]; for(e=T[x];e;e=e->next) if(!visit[e->num]) { q[rear++]=e->num; visit[e->num]=1; count++; } } if(count==k) ans++; } printf("%d\n",ans); } return 0; }
相关文章推荐
- CodeForces 251A The Distance
- tableView调用reloadData,数据没有刷新
- 数学专题收集
- 周道长浅谈鸭式辩型
- GMM demo
- 港台直播源
- HDU 1277 - 全文检索
- AJAX缓存问题
- Awesome C/C++ (了不起的C/C++)
- [转] Oracle sql 查询突然变慢 -- 案例分析
- 1873 看病要排队
- 用HTML5来开发一款android本地化App游戏-宝石碰碰
- 使用myeclipse与sqlyog实现简单的增删查修功能中常见的错误
- 最大堆排序
- 多校3 1002 RGCDQ
- 电阻自动测试仪
- 用户自定义数据类型、结构和枚举中的问题
- 移动开发中 HTML5 能否替代本地程序?
- 随手小代码——插入排序
- 暴力求解——素环数 Prime Ring Problem ,UVa 524