F - How Many Tables

并查集的模板都能直接套,太简单不注释了,就存个代码

 #include<bits/stdc++.h>
using namespace std; const int size = ;
int parent[size];
int cnt[];
int t, n, m, x, y, num; //赋初值
void parentkey(int n){
for(int i=;i<=n;i++){
parent[i] = i;
cnt[i] = ;
}
} //找根节点
int find(int x){
return x==parent[x]? x : parent[x]=find(parent[x]);
} //合并
void parent_union(int x,int y){
int fx = find(x);
int fy = find(y);
parent[fy] = fx;
} int number(int x){
int num = ;
int fx = find(x);
for(int i=;i<size;i++){
if(fx==find(i))
num++;
}
return num;
} int main(){
scanf("%d",&t);
while(t--){
scanf("%d %d",&n ,&m);
parentkey(n);
num = ;
for(int i=; i<m; i++){
scanf("%d %d",&x, &y);
parent_union(x, y);
}
for(int i=; i<=n; i++){
cnt[find(i)]++;
}for(int i=; i<=n; i++)
if(cnt[i])
num ++;
printf("%d\n",num);
} }

最新文章

  1. [LeetCode] Interleaving String - 交织的字符串
  2. Music Player团队项目(一)
  3. VS2012添加ADO实体数据模型
  4. 命令行创建maven模块工程
  5. window远程连接linux
  6. (转)在Java中如何遍历Map对象
  7. OpenStack - liberty CentOS 7
  8. JavaScript简史
  9. python之pickle模块
  10. 【JavaScript】常用的数据类型的处理方式
  11. js隐藏字符串中间部分
  12. c++ map 注意事项
  13. JAVA_全局配置文件(配置网址,url等等)_第二种方式
  14. 搭建简单的网络部分(OC)框架
  15. e867. 获取和设置外观
  16. CmD空格转义的三种方法,总有一种会解决问题
  17. 自己写的jQuery拖动滑块
  18. linux 命令及配置文件搜索命令which、whereis
  19. xhEditor在线编辑器使用实例
  20. 开启php的xdebug扩展及phpstorm配置xdebug,chrome调试插件组合

热门文章

  1. IDA PRO
  2. 聊聊SNMP协议
  3. 一起学Vue之事件处理
  4. JS Radio结合TEXT
  5. 使用nginx代理gogs遇到推送代码错误的问题(RPC failed; HTTP 413 curl 22 The requested URL returned error: 413)
  6. 阿里面试Java程序员都问些什么?
  7. LeNet, AlexNet, VGGNet, GoogleNet, ResNet的网络结构
  8. gulp常用插件之rev-del使用
  9. vnode
  10. 数据结构与算法之比较排序【Java】