hdu 1213 How Many Tables
来源:互联网 发布:找晋中网络教研平台 编辑:程序博客网 时间:2024/06/04 00:59
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 30273 Accepted Submission(s): 14980
Problem Description
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.
Input
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.
Output
For each test case, just output how many tables Ignatius needs at least. Do NOT print any blanks.
Sample Input
2
5 3
1 2
2 3
4 5
5 1
2 5
Sample Output
2
4
并查集裸题
#include <iostream>#include <cstdio>#include <algorithm>using namespace std;int f[2000],n,m;void init() { for(int i=0;i<=n;i++) { f[i]=i; }}int getf(int v) { if(f[v]==v) return v; else { f[v]=getf(f[v]); return f[v]; }}void merge(int v,int u) { int t1,t2; t1=getf(v); t2=getf(u); if(t1!=t2) { f[t2]=t1; } //左移 return; }int main() { int t; cin>>t; while(t--) { scanf("%d%d",&n,&m); int x,y;init(); for(int i=1;i<=m;i++) { scanf("%d%d",&x,&y); merge(x,y); } int sum=0; for(int i=1;i<=n;i++) { if(f[i]==i) { sum++; } } cout<<sum<<endl;// getchar(); } return 0;}
- hdu 1213 how many tables
- hdu 1213 How Many Tables
- hdu 1213 How Many Tables
- HDU 1213 How Many Tables
- hdu 1213 How Many Tables
- HDU 1213 How Many Tables
- hdu 1213 How Many Tables
- Hdu 1213 How Many Tables
- hdu 1213 How Many Tables
- hdu 1213 How Many Tables
- HDU 1213 how many tables
- hdu 1213 How Many Tables
- hdu 1213how many tables
- hdu 1213 How Many Tables
- Hdu 1213 - How Many Tables
- HDU 1213 How Many Tables
- HDU 1213 How Many Tables
- hdu 1213 How Many Tables
- JavaScript
- 为什么那么多人说,过了30岁还做技术没有前途 ??
- 关于移动端开发的入门基础
- 第11天面向对象
- Makefile的实例讲解
- hdu 1213 How Many Tables
- linux运维-网桥的搭建
- IntelliJ IDEA 常用快捷键列表及技巧大全
- mac下启动/停止/重启mysql服务
- springMVC中参数传值,作用域传值
- Spring MVC入门
- eclipse中的Maven插件设置
- MySQL-Proxy 读写分离、同步延时问题解决方案
- Linux服务器中木马(肉鸡)手工清除方法