╮(╯▽╰)╭ 数蚂蚁

TimeLimit: 2000/1000 MS (Java/Others)  MenoryLimit: 65536/32768 K (Java/Others)
64-bit integer IO format:%I64d
Problem Description
Lh Boy无聊的时候很喜欢数蚂蚁,而且,还给每一只小蚂蚁编号,通过他长期的观察和记录,发现编号为i的蚂蚁会和编号为j的蚂蚁在一起。 
现在问题来了,他现在只有他的那本记录本,然而,他想要知道,他所观察的蚂蚁中,有多少堆蚁群。没有记录的编号则作为独自一个一堆。 

Input
第一行输入一个整数T,表示有T(1<=T<=25)组测试案例。每一组测试案例,先输入两个整数N和M,分别表示蚂蚁的总数(编号分别为1~N)和记录的条数(1<=N,M<=1000)。紧接着有M行,每一行输入两个数字,a b,表示编号a和编号b的蚂蚁在同一堆里面。在每组测试案例之间都会输入一行空行。 

Output
对于每组测试案例,在一行中输出答案。 

SampleInput
2
5 3
1 2
2 3
4 55 1
2 5

SampleOutput
2
4解法:就是基础的并查集。。。代码:

 1 #include <iostream>
 2 #include <string.h>
 3 #include <stdio.h>
 4 #include <map>
 5 using namespace std;
 6 int ID[10086];
 7 void Cread(int N)
 8 {
 9     for(int i=0;i<=N;i++)ID[i]=i;
10 }
11 int Find(int x)
12 {
13     int tmp;
14     if(ID[x]!=x)tmp=Find(ID[x]);
15     else tmp=x;
16     ID[x]=tmp;
17     return tmp;
18 }
19 int main()
20 {
21     int N,M,i,j,k,T;
22     scanf("%d",&T);
23     while(T--)
24     {
25         scanf("%d%d",&N,&M);
26         Cread(N);
27         int a,b;
28         int sign=0;
29         for(i=0;i<M;i++)
30         {
31             scanf("%d%d",&a,&b);
32             a=Find(a);
33             b=Find(b);
34             if(a!=b)
35             {
36                 sign++;
37                 ID[a]=b;
38             }
39         }
40         printf("%d\n",N-sign);
41     }
42     return 0;
43 }

View Code

 

转载于:https://www.cnblogs.com/Wurq/p/4693322.html

╮(╯▽╰)╭ 数蚂蚁相关推荐

  1. bzoj 1630 2023: [Usaco2005 Nov]Ant Counting 数蚂蚁(有重复元素的组合数)

    2023: [Usaco2005 Nov]Ant Counting 数蚂蚁 Time Limit: 4 Sec  Memory Limit: 64 MB Submit: 281  Solved: 18 ...

  2. c语言编程一只蚂蚁,一个有趣的数蚂蚁问题(C语言实现)

    问题 An orderly trail of ants is marching across the park picnic area. It looks something like this: . ...

  3. 蓝桥杯历年试题汇总 C/C++ B组

    B组 2012 第三届 微生物增殖 古堡算式 海盗比酒量 奇怪的比赛 方阵旋转  大数乘法 放旗子 密码发生器    夺冠概率 取球博弈             2013 第四届 高斯日记 马虎的算式 ...

  4. 蚁群算法解决TSP问题(2#JAVA代码+详细注释+对比动态规划【JAVA】)

    第一部分:原理 TSP10cities.txt 1 2066 2333 2 935 1304 3 1270 200 4 1389 700 5 984 2810 6 2253 478 7 949 302 ...

  5. 3个5相乘列乘法算式_6的乘法口诀教学设计范文

    6的乘法口诀教学设计范文 作为一名辛苦耕耘的教育工作者,常常需要准备教学设计,借助教学设计可以更好地组织教学活动.你知道什么样的教学设计才能切实有效地帮助到我们吗?下面是小编收集整理的6的乘法口诀教学 ...

  6. laravel8 beanstalk 使用说明

    小编这里使用的是laravel 8版本来做解析 1.使用composer 加载组件库,不指定版本号的话默认安装最新版本,安装完成后进行配置 composer require pda/pheanstal ...

  7. 2023年你最值得了解的信息技术-AI篇(一)

    列表 85 - 其他 辽宁省 大连优联智能 自动化生产线提供商 未融资 大连优联智能是一家自动化生产线提供商,集规划设计.制造安装.系统集成.视觉检测及AI数据智能分析于一体,可为汽车车身及发动机制造 ...

  8. 国际区块链专利统计:蚂蚁、平安、腾讯分列申请数前三名

    日前,国际权威知识产权杂志IAM发表文章,对中国企业的区块链专利相关质量指标进行了全盘分析,并强调了中国企业在区块链专利申请中的主导地位. 文章引用国际权威数据库德温特世界专利索引(简称:DWPI)区 ...

  9. 历届试题 核桃的数量(3个数的最小公倍数),翻硬币(贪心),买不到的数目(在范围内暴力,找范围,最小公倍数是上界,最小的数是下界),兰顿蚂蚁(dfs,模拟)

    历届试题 核桃的数量 问题描述 小张是软件项目经理,他带领3个开发组.工期紧,今天都在加班呢.为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑).他的要求是: 各组的核桃数量必须相同 各组内必须能 ...

最新文章

  1. 超大数据下大批量随机键值的查询优化方案 1
  2. 通过 SAP UI5 的 TypeScript 开发环境,来学习什么是 DefinitelyTyped
  3. 查询linux kafka安装目录,Kafka 1.0.0安装和配置--Linux篇
  4. C++(STL):24 ---序列式容器stack用法
  5. 蚂蚁森林上线三周年,5亿人“手机种树”1.22亿棵...
  6. 海洋工作室——网站建设专家:全数据库比较工具
  7. 【312天】我爱刷题系列071(2017.12.14)
  8. 小程序对实体行业转型有何影响?
  9. SQL:postgreSQL借助日期函数Extract按照时间区分查询结果
  10. android接口类命名规范_Android开发规范
  11. 台达伺服B2 调机杂说
  12. 求生之路4的联机方法和秘籍
  13. Java基础-运算符
  14. 透过上网管理 看看上班时间员工都在干啥?
  15. html5 div 拱桥形状制作,纯CSS3+DIV实现小三角形边框效果的示例代码
  16. injected stylesheet注入样式导致el-button内文字为空白
  17. Linux切换中英文环境
  18. onclick绑定点击事件不触发
  19. 云原生--k8s基础管理命令(二)
  20. 阿里云计算重磅公布云原生裸金属方法:裸金属+容器,此方法解锁云计算的新方式

热门文章

  1. QQ飞行棋点数控制器V1.1 Cracked.exe
  2. 安装 ubuntu 16/18
  3. email.class.php,利用PHP发送邮件Class类
  4. mysql数据库分表及查询
  5. C4D致富经典入门到精通(七)
  6. python中shutil.copyfile的用法_用Python复制文件的9个方法
  7. 绿盟SecXOps安全智能分析技术
  8. 西门子s7-200smart程序块pou加密解锁方法
  9. 有一个企微运营机器人同事是一种什么体验?
  10. GPS坐标转换经纬度及换算方法