ACM HDOJ 1232 (畅通工程 )
来源:互联网 发布:淘宝特卖在哪里 编辑:程序博客网 时间:2024/05/22 04:51
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=1232
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scn = new Scanner(System.in);while (true) {int pointsNumber = Integer.parseInt(scn.next());if (0 == pointsNumber) {break;}DisjointSet disjointSet = new DisjointSet(pointsNumber);int relationNumber = Integer.parseInt(scn.next());while (0 <= --relationNumber) {int x = Integer.parseInt(scn.next()) - 1;int y = Integer.parseInt(scn.next()) - 1;disjointSet.union(x, y);}System.out.println(disjointSet.calculateSetNumber() - 1);}scn.close();}}class DisjointSet {private int pointsNumber;private int[] flag;private int find(int r) {while (r != flag[r]) {r = flag[r];}return r;}public DisjointSet(int pointsNumber) {this.pointsNumber = pointsNumber;flag = new int[pointsNumber];for (int i = 0; i < pointsNumber; ++i) {flag[i] = i;}}public int calculateSetNumber() {int count = 0;for (int i = 0; i < pointsNumber; ++i) {if (flag[i] == i) {++count;}}return count;}public void union(int x, int y) {int xRoot = find(x);int yRoot = find(y);if (xRoot != yRoot) {flag[yRoot] = xRoot;}}}
0 0
- ACM HDOJ 1232 (畅通工程 )
- HDOJ 1232 畅通工程 杭电 ACM
- ACM HDOJ 1863 (畅通工程)
- HDOJ 1232 畅通工程
- HDOJ 1232 畅通工程
- HDOJ 1232 畅通工程
- HDOJ 1232 畅通工程
- hdoj 1232 畅通工程
- HDOJ 1232 畅通工程
- 畅通工程 hdoj 1232
- hdoj 1232 畅通工程
- HDOJ 1232 畅通工程
- hdoj 1232 畅通工程
- hdoj 1232 畅通工程
- HDOJ-1232 畅通工程
- hdoj 1232畅通工程
- HDOJ 1232 畅通工程
- hdoj-1232-畅通工程
- 【Git入门之六】远程仓库
- "404 - 找不到文件或目录" 问题解决
- codeforces 377C Captains Mode
- QT实现天气预报软件
- 一道面试题:三次称量判断十二个球中一个劣质球的解法
- ACM HDOJ 1232 (畅通工程 )
- zoj2301Color the Ball(线段树,离散化,成段更新)
- jsp:useBean 中type、class和beanName
- 黑马程序员-- 十、IO
- Linux中变量$#,$@,$0,$1,$2,$*,$$,$?的含义
- Excel中Match()函数使用方法
- qemu-kvm学习资料
- Qt模块化笔记之Qt Widgets——抽象旋转框及其继承类
- 正向动力学与反向动力学