HDU 5326 Work(并查集变种)
来源:互联网 发布:淘宝cf代练 编辑:程序博客网 时间:2024/05/22 01:06
http://acm.hdu.edu.cn/showproblem.php?pid=5326
Work
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1543 Accepted Submission(s): 933
Problem Description
It’s an interesting experience to move from ICPC to work, end my college life and start a brand new journey in company.
As is known to all, every stuff in a company has a title, everyone except the boss has a direct leader, and all the relationship forms a tree. If A’s title is higher than B(A is the direct or indirect leader of B), we call it A manages B.
Now, give you the relation of a company, can you calculate how many people manage k people.
Input
There are multiple test cases.
Each test case begins with two integers n and k, n indicates the number of stuff of the company.
Each of the following n-1 lines has two integers A and B, means A is the direct leader of B.
1 <= n <= 100 , 0 <= k < n
1 <= A, B <= n
Output
For each test case, output the answer as described above.
Sample Input
7 2
1 2
1 3
2 4
2 5
3 6
3 7
Sample Output
2
解题思路:并查集+暴力枚举。
其实简单点就是判断任意两个点是不是有领导与下属的关系。
下面是AC代码:
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;int pre[110];int num[110];int fin(int x,int y){ if(x!=pre[x]) { if(pre[x]==y) { return 1; } else { return fin(pre[x],y); } } if(x==pre[x]) { return 0; }}int main(){ int n,m; while(~scanf("%d%d",&n,&m)) { int a,b; for(int i=1; i<=n; i++) { pre[i]=i; } for(int i=0;i<n-1;i++) { scanf("%d%d",&a,&b); pre[b]=a; } memset(num,0,sizeof(num)); for(int i=1;i<=n;i++) { for(int j=1;j<=n;j++) { if(i!=j) if(fin(i,j)) { num[j]++; } } } int sum=0; for(int i=1;i<=n;i++) { if(num[i]==m) { sum++; } } printf("%d\n",sum); } return 0;}
- HDU 5326 Work(并查集变种)
- hdu 5326 Work【并查集】
- hdu 5326 Work(并查集)
- hdu Work 5326(并查集)
- HDU 5326 work 【并查集】
- HDU 5326 Work(并查集)
- hdu 5326 Work(并查集)
- HDU Problem 5326 Work 【并查集】
- HDU 5326 Work (并查集)
- HDU 5326 Work(并查集)
- hdu 5326 Work 并查集
- HDU-5326-Work【并查集(有向)】
- hdu 3367 Pseudoforest kruskal算法的变种+并查集
- HDOJ 5326 Work (并查集)
- hdoj 5326 Work <半步并查集>
- hdoj 5326 Work【并查集】
- HDU 5326 Work 并查集 (2015 Multi-University Training Contest 3 2015多校联合)
- HDU 5326 Work(并查集)(2015 Multi-University Training Contest 3)
- hdu 5326(floyd递推人际关系)
- Qt中tr()的作用
- Lua教程(三):C语言、C++中调用Lua的Table示例
- Bad Request For WebMessageBodyStyle.Bare or WebMessageBodyStyle.Wrapped
- Android 计算器解析(三): 美化计算器界面
- HDU 5326 Work(并查集变种)
- Android中的Application类
- python类与面向对象编程
- Discuz!使用技巧十条
- Lua教程(二):C++和Lua相互传递数据示例
- Codeforces 387C George and Number
- PHP 资源备忘
- Spring IOC 加载多个配置文件
- 第22天:规划采购管理和规划干系人管理