HDU1213:How Many Tables(并查集入门)
-----------刷点水题练习java-------------
题意:给定N点,M边的无向图,问有多少个连通块。
思路:可以搜索; 可以并查集。这里用并查集练习java的数组使用,ans=N,合并一个连通块ans--; 以及函数的调用:
经验1:C++声明数组是int fa[1024];而java则是int[] fa=new int[1024];
经验2:不加static是非静态函数,访问需要new出该类的对象来调用,加上static是静态函数 可直接访问或者通过类名访问。
import java.util.Scanner;
/*
@author nimphy
@create 2019-11-04-16:14
about:
*/
public class Main {
    static int[] fa = new int[1010];
    public static void main(String[] args) {
        Scanner scan;
        int N, M, ans, x, y, T;
        scan = new Scanner(System.in);
        T = scan.nextInt();
        while (T-- > 0) {
            N = scan.nextInt();
            M = scan.nextInt();
            ans = N;
            for (int i = 1; i <= N; i++) fa[i] = i;
            for (int i = 1; i <= M; i++) {
                x = scan.nextInt();
                y = scan.nextInt();
                x = find(x);
                y = find(y);
                if (x != y) {
                    fa[x] = y;
                    ans--;
                }
            }
            System.out.println(ans);
        }
    }
    static int find(int x) {
        if (x == fa[x]) return x;
        return fa[x] = find(fa[x]);
    }
}
HDU1213:How Many Tables(并查集入门)的更多相关文章
- hdu1213 How Many Tables(并查集)
		
How Many Tables Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
 - hdu1213 How Many Tables 并查集的简单应用
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 简单的并查集 代码: #include<iostream> #include< ...
 - hdu1272并查集入门
		
小希的迷宫 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submi ...
 - 并查集入门--畅通工程(HDU1232)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1232 畅通工程 Time Limit: 4000/2000 MS (Java/Others) M ...
 - HDU 1213 - How Many Tables - [并查集模板题]
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 Today is Ignatius' birthday. He invites a lot of ...
 - C - How Many Tables 并查集
		
Today is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to kn ...
 - POJ-1213 How Many Tables( 并查集 )
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1213 Problem Description Today is Ignatius' birthday. ...
 - HDU 1213 How Many Tables(并查集,简单)
		
题解:1 2,2 3,4 5,是朋友,所以可以坐一起,求最小的桌子数,那就是2个,因为1 2 3坐一桌,4 5坐一桌.简单的并查集应用,但注意题意是从1到n的,所以要减1. 代码: #include ...
 - HDU 1213 How Many Tables (并查集,常规)
		
并查集基本知识看:http://blog.csdn.net/dellaserss/article/details/7724401 题意:假设一张桌子可坐无限多人,小明准备邀请一些朋友来,所有有关系的朋 ...
 
随机推荐
- Java:String,int相互转化
			
int转String int a: a + “” String.valueOf(a) Interger.toString(a) 一般使用以上几种方法进行转化 第一种方法效率不好,ja ...
 - jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function
			
jQuery3.0+报错Uncaught TypeError: e.indexOf is not a function 使用.load()绑定事件时报错,Uncaught TypeError: e.i ...
 - vue 使用JavaScript表达式
			
vue使用JavaScript的运算方式 代码如下: <!doctype html> <html lang="en"> <head> <m ...
 - MySQL实战45讲学习笔记:第四十五讲
			
一.本节概述 MySQL 里有很多自增的 id,每个自增 id 都是定义了初始值,然后不停地往上加步长.虽然自然数是没有上限的,但是在计算机里,只要定义了表示这个数的字节长度,那它就有上限.比如,无符 ...
 - 第04组 Alpha冲刺(5/6)
			
队名:new game 组长博客:戳 作业博客:戳 组员情况 鲍子涵(队长) 燃尽图 过去两天完成了哪些任务 才两天,也就是实现一些功能而已 复习了一下SuffixAutomata 接下来的计划 实现 ...
 - kubelet证书过期解决方法
			
昨天收到报警短信:集群中某node状态为notReady,由于是长期不用的,所以放到今天才有空处理,以下记录处理过程. 查看kubelet日志,发现不停的打印证书过期相关提示信息. 以下操作基于kub ...
 - 使用OpenSSL证书操作详解
			
一.OpenSSL简介 OpenSSL支持多种秘钥算法,包括RSA.DSA.ECDSA,RSA使用比较普遍.官网地址:https://www.openssl.org/,一般CeontOS系统都装有Op ...
 - sitecore系列教程场所分类简介
			
在Sitecore体验平台(XP)中,场所是可跟踪的离线交互发生的位置.这些是发生交互的物理位置,例如特定的零售场所或公共汽车站. 您可以使用场所分类记录特定交互发生的位置.此信息保存在体验数据库(x ...
 - Django学习笔记(17)——BBS+Blog项目开发(1)验证码功能的实现
			
本文主要学习验证码功能的实现,为了项目BBS+Blog项目打下基础. 为了防止机器人频繁登陆网站或者破坏分子恶意登陆,很多用户登录和注册系统都提供了图形验证码功能. 验证码(CAPTCHA)是“Com ...
 - 云原生生态周报 Vol. 11 | K8s 1.16 早知道
			
业界要闻 Pivotal 发布了完全基于 Kubernetes 的 Pivotal Application Service(PAS)预览版 这意味着 Pivotal 公司一直以来在持续运作的老牌 Pa ...