题目描述
w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。
这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。

如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?

输入
第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<m,n<1000)。
接下来一行,一个整数k,表示下面还有k行数据(0<k<100000)
接下来k行,第行两个整数a,b,表示编号为a的小格子和编号为b的小格子合根了。

格子的编号一行一行,从上到下,从左到右编号。
比如:5 * 4 的小格子,编号:
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
输出
多少株
样例输入
5 4
16
2 3
1 5
5 9
4 8
7 8
9 10
10 11
11 12
10 14
12 16
14 18
17 18
15 19
19 20
9 13
13 17
样例输出
5
思路:这个题目有两个做法,一种是dfs求连通块,另一个是并查集求集合数目。是一个比较简单的基础题目。
代码如下:

#include<bits/stdc++.h>
#define ll long long
using namespace std;const int maxx=1e6+100;
int f[maxx];
int n,m,nn;inline void init()
{for(int i=0;i<=n*m;i++) f[i]=i;
}
inline int getf(int u)
{return u==f[u]?u:f[u]=getf(f[u]);
}
inline void merge(int u,int v)
{int t1=getf(u);int t2=getf(v);if(t1!=t2){f[t1]=t2;}
}
int main()
{scanf("%d%d",&n,&m);init();scanf("%d",&nn);int x,y;for(int i=1;i<=nn;i++){scanf("%d%d",&x,&y);merge(x,y);}int ans=0;for(int i=1;i<=n*m;i++) if(getf(i)==i) ans++;cout<<ans<<endl;return 0;
}

努力加油a啊,(o)/~

[蓝桥杯][2017年第八届真题]合根植物相关推荐

  1. [蓝桥杯][2017年第八届真题]包子凑数(解题报告)

    问题 1886: [蓝桥杯][2017年第八届真题]包子凑数 时间限制: 1Sec 内存限制: 128MB 提交: 406 解决: 118 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家 ...

  2. 题目 1886: 蓝桥杯2017年第八届真题-包子凑数

    时间限制: 1Sec 内存限制: 128MB 提交: 2378 解决: 789 题目描述 小明几乎每天早晨都会在一家包子铺吃早餐.他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子.每种蒸笼 ...

  3. 题目 1878: 蓝桥杯2017年第八届真题-青蛙跳杯子

    题目 X星球的流行宠物是青蛙,一般有两种颜色:白色和黑色. X星球的居民喜欢把它们放在一排茶杯里,这样可以观察它们跳来跳去. 如下图,有一排杯子,左边的一个是空着的,右边的杯子,每个里边有一只青蛙. ...

  4. [蓝桥杯][2017年第八届真题]小计算器(模拟)

    题目描述 模拟程序型计算器,依次输入指令,可能包含的指令有 数字:'NUM X',X为一个只包含大写字母和数字的字符串,表示一个当前进制的数 运算指令:'ADD','SUB','MUL','DIV', ...

  5. [蓝桥杯][2017年第八届真题]小数第n位(数学)

    题目描述 我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数. 如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式. 本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始 ...

  6. 题目 1885: [蓝桥杯][2017年第八届真题]分巧克力+二分

    题目: 题目描述 儿童节那天有K位小朋友到小明家做客.小明拿出了珍藏的巧克力招待小朋友们. 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形. 为了公平起见,小明需要从这 N 块巧克 ...

  7. [蓝桥杯][2017年第八届真题]拉马车(String)

    题目描述 小的时候,你玩过纸牌游戏吗? 有一种叫做"拉马车"的游戏,规则很简单,却很吸引小朋友. 其规则简述如下: 假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机的纸 ...

  8. [蓝桥杯][2017年第八届真题]分考场(dfs+剪枝)

    题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入 第一行,一个整数n(1<n<100),表示参加考试的人数. ...

  9. [蓝桥杯][2017年第八届真题]正则问题(DFS)

    题目描述 考虑一种简单的正则表达式: 只由 x ( ) | 组成的正则表达式. 小明想求出这个正则表达式能接受的最长字符串的长度. 例如 ((xx|xxx)x|(x|xx))xx 能接受的最长字符串是 ...

最新文章

  1. 东软java的笔试_东软的笔试题
  2. python 拆分excel openpyxl_openpyxl(python操作Excel)
  3. Linux提高工作效率的命令
  4. response.setHeader各种用法 .
  5. Spring-Boot 2.1.x和主要的bean定义
  6. pythonxlwt行居中_python3-xlwt-Excel设置(字体大小、颜色、对齐方式、换行、合并单元格、边框、背景、下划线、斜体、加粗)...
  7. 【计算机组成原理】CISC和RISC
  8. mysql表死锁查询
  9. 容器化技术之Docker入门
  10. ext源码阅读 - DomHelper - createHtml,insertHtml
  11. 199.二叉树的右视图
  12. jeesit 基于springMVC + mybatis配置多数据源的问题
  13. Python生成图文并茂的PDF报告
  14. verilog赋多位值_verilog语句两个always块对同一个变量赋值问题!【恢复】
  15. 从零开始搭建一个自己的脚手架
  16. python简单操作excel
  17. win7字体_win7系统为桌面添加自己喜欢的文字作为桌面背景,学习一下
  18. execl2010数据有效性验证,保存后丢失问题
  19. Cannot run program jad 的错误
  20. Web服务下载zip文件

热门文章

  1. 关于Windows平台下安装mysql软件
  2. 天正建筑lisp编程接口_编程思想|面向过程的结构化、面向对象的抽象化、泛型编程...
  3. 商用计算机工作温度,winxp嵌入式主板主机对工作环境温度有什么要求
  4. idea撤销与恢复快捷键_IntelliJ IDEA 重做快捷键和配置哲学
  5. 让经纬度数据带矢量方向_惊艳!这样处理可得到细至可用于交通模型的路网数据...
  6. 调用python接口并画图_【PySpark源码解析】教你用Python调用高效Scala接口
  7. android https bks,如何将.cer转换为BKS
  8. java double 运算精度问题_关于java中Double类型的运算精度问题
  9. excel函数vloopup使用方法
  10. 初来乍到?请多关照==23333