How many table
来源:互联网 发布:软件资格 编辑:程序博客网 时间:2024/06/09 17:22
题目描述
Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the friends know each other, and all the friends do not want to stay with strangers.
One important rule for this problem is that if I tell you A knows B, and B knows C, that means A, B, C know each other, so they can stay in one table.
For example: If I tell you A knows B, B knows C, and D knows E, so A, B, C can stay in one table, and D, E have to stay in the other one. So Ignatius needs 2 tables at least.
输入格式
The input starts with an integer T(1<=T<=25) which indicate the number of test cases. Then T test cases follow. Each test case starts with two integers N and M(1<=N,M<=1000). N indicates the number of friends, the friends are marked from 1 to N. Then M lines follow. Each line consists of two integers A and B(A!=B), that means friend A and friend B know each other. There will be a blank line between two cases.
输出
For each test case, just output how many tables Ignatius needs at least. Do NOT print any blanks.
样例输入
2
6 4
1 2
2 3
3 4
1 4
8 10
1 2
2 3
5 6
7 5
4 6
3 6
6 7
2 5
2 4
4 3
样例输出
3
2
#include <stdio.h>using namespace std;#define N 1001int Tree[N];int findRoot(int x){ if(Tree[x] == -1) { return x; } else { int tmp = findRoot(Tree[x]); tmp = Tree[x]; return tmp; }}int main(){ int t,n,m,i; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i = 0;i < N;i++) { Tree[i] = -1; } for(i = 0;i < m;i++) { int a,b; scanf("%d%d",&a,&b); a = findRoot(a); b = findRoot(b); if(a != b) { Tree[a] = b; } } int ans = 0; for(i = 0;i < n;i++) { if(Tree[i] == -1) { ans++; } } printf("%d\n",ans); } return 0;}
- How many table
- Hdu-1213 How many table
- HDU 1213 How many table(dfs)
- 并查集 hdu1213 How Many Table 图论500题
- How many
- How many zeros and how many digits?
- How many zeros and how many digits?
- how many java objects?
- How many的用法
- How many N
- How many different numbers
- How many fibs
- hdu1978 How many ways
- PKU2413 how many fibs
- How Many Fibs?
- How Many Tables
- HDOJ How Many Tables
- hdu 2609 How Many
- 贪心算法0之1004
- “大姨吗”创始人柴可:“慢就是快”
- poj 1125 Stockbroker Grapevine
- LintCode 142. O(1)时间检测2的幂次
- Apple Pay教程(附示例代码)
- How many table
- Cisco/China Mobile的新网络架构
- 【BZOJ1257】余数之和sum,数论练习之取值讨论
- WCF入门教程——什么是WCF(一)
- 堆和栈的区别
- iOS开发技术之人脸识别
- PAT 1025 反转链表 (25) 解题报告
- bzoj 2456: mode 【思维 求众数】
- css与Div基础