问题描述

w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。

这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。

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

输入格式

第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1

接下来一行,一个整数k,表示下面还有k行数据(0

接下来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

样例说明

其合根情况参考下图

import java.util.Scanner;

public class Main {

static int father[] = null;

public static void main(String[] args) {

Scanner s = new Scanner(System.in);

int m = s.nextInt();

int n = s.nextInt();

int k = s.nextInt();

father = new int[m*n+1];

for(int i=1;i<=m*n;i++){

father[i] = i;

}

for(int i=0;i

int a = s.nextInt();

int b = s.nextInt();

join(a,b);

}

int cnt = 0;

for(int i=1;i<=m*n;i++){

if(father[i]==i){

cnt++;

}

}

System.out.println(cnt);

}

public static void join(int a,int b){

if(getTop(a) != getTop(b)){

father[getTop(a)]= getTop(b);

}

}

public static int getTop(int a){

if(father[a]==a){

return a;

}else{

father[a] = getTop(father[a]);

return father[a];

}

}

}

import java.util.Scanner;

public class hegenzhiwu {

public static void main(String[] args) {

Scanner sc =new Scanner(System.in);

int n = sc.nextInt();

int m = sc.nextInt();

int a,b,c,d;

int [] shu = new int [m*n+1];

int [][] num = new int [n][m];

int k =sc.nextInt();

for (int i = 0; i < shu.length; i++) {

shu[i]=i;

}

for (int i = 0; i < k; i++) {

c = sc.nextInt();

d =sc.nextInt();

a=Math.min(c, d);

b=Math.max(c, d);

if(shu[b]==b){

shu[b]=shu[a];

}

else{

shu[a]=shu[b];

}

}

int count = 0;

for (int i = 1; i < shu.length; i++) {

if(shu[i]==i){

count++;

}

}

System.out.println(count);

}

}

java蓝桥杯合根植物_Java实现蓝桥杯 历届试题 合根植物相关推荐

  1. 【蓝桥杯】 历届试题 合根植物(并查集)

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

  2. 历届试题 合根植物(查并集,模板+优化)

    历届试题 合根植物 http://lx.lanqiao.cn/problem.page?gpid=T458 时间限制:2.0s 内存限制:256.0MB 问题描述 w星球的一个种植园,被分成 m * ...

  3. 蓝桥杯 历届试题 合根植物(并查集)

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

  4. 蓝桥杯 PREV-54 历届试题 合根植物

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

  5. java 历届试题 合根植物

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

  6. 历届试题 合根植物 C语言,植物营养历年真题(整理).doc

    1994年 名词解释:根际,土壤养分的生物有效性,短距离运输,有益元素, 当代植物营养科学有哪些研究方向,并简要说明其内内涵和进展 何谓生理缺素症?简述植物生理缺钙,缺铁,缺锌的症状衙内在机理 比较在 ...

  7. java判断时间区间 隔天_Java初中级程序员面试题宝典

    Java基础部分 &与&&区别? &和&&都是逻辑运算符,都是判断两边同时真则为真,否则为假:但是&&当第一个条件不成之后,后面的条件都 ...

  8. 大学“电路分析基础”试题合集第四章

    大学"电路分析基础"试题合集第一章 大学"电路分析基础"试题合集第二章 大学"电路分析基础"试题合集第三章 "电路分析基础&quo ...

  9. 大学“电路分析基础”试题合集第六章(文末附PDF文档与Word文档)

    大学"电路分析基础"试题合集第一章 大学"电路分析基础"试题合集第二章 大学"电路分析基础"试题合集第三章 大学"电路分析基础&q ...

  10. 大学“电路分析基础”试题合集第三章

    大学"电路分析基础"试题合集第一章 大学"电路分析基础"试题合集 第二章 "电路分析基础"试题合集第三章 一.填空题(每空0.5分) 1.凡 ...

最新文章

  1. php视频上传教程,PHP实现视频文件上传完整实例,_PHP教程
  2. 插入排序java_「Java」各类排序算法
  3. Centos6.5安装FastDFS
  4. 给妹子讲python_给妹子讲python-S01E01好用的列表
  5. silverlight 碰撞检测
  6. 党建活动献爱心,达飞云贷冬日送温暖
  7. php如何优化递归函数,php递归函数怎么用才有效?php递归函数典型例子
  8. 《王道计算机考研》:数据链路层
  9. Windows科研工具
  10. 通达信股票数据接口协议文档
  11. XUI -Android原生UI框架的配置
  12. VS2010中打开项目中的Winform界面报“This method explicitly users CAS policy,which has been obsoleted by the ...”
  13. 美团java后端面试题目_美团笔试题(Java后端5题2小时)
  14. 传祺gac6480_传祺gs82020款,传祺GAC6480J2F5
  15. 关于PostgreSQL执行计划中的Bitmap Heap Scan、Bitmap Index Scan、Recheck Cond
  16. debian 更换源 使用国内源 配置方法
  17. C语言获取左键鼠标点击的次数,c语言在控制台判定鼠标左键的小例子
  18. js 实现多物体动画效果
  19. 软件开发不可与建筑类比
  20. DOM(一)——HTML DOM

热门文章

  1. matlab 门函数频谱,时域门函数及门函数串的频谱分析
  2. 支付宝"手机网站支付"主域名申请了,二级域名还要申请吗
  3. 数组中的键值对去重_数组去重-
  4. html倒计时免费代码,JS倒计时代码汇总
  5. Android ANR 触发原理
  6. 悟空问答 模板 html,悟空问答icon
  7. 抽象代数 04.03 Sylow 子群
  8. 20191009 csp-s模拟T3(并查集)
  9. Linux C编程 —— 通过文件描述符获得文件路径
  10. 梁念坚:“云计算”福音