Java 地铁修建
来源:互联网 发布:mac版本的网络游戏 编辑:程序博客网 时间:2024/04/28 01:24
package test;import java.util.Collection;import java.util.Collections;import java.util.Comparator;import java.util.LinkedList;import java.util.List;import java.util.Scanner;class node { int x, y, z;}public class Main { static int[] p = new int[100010]; static int n, m; static LinkedList<node> list = new LinkedList<node>(); static int find(int x){ if(p[x]==x){ return x;//若x自己就是祖先结点,返回他自己 } else{ int y=find(p[x]);//层层递归找到x的祖先结点,并且将它作为祖先结点的子节点 p[x]=y; return y; } } static void union_p(int x,int y){ if(x==y){ return ; } p[x] = y;//y成为x的父节点 } public static void main(String[] args) { Scanner in =new Scanner(System.in); int x,y,z=0; n = in.nextInt(); m = in.nextInt(); for(int i=0;i<m;i++){ node node1 = new node(); node1.x=in.nextInt(); node1.y=in.nextInt(); node1.z=in.nextInt(); list.add(node1); } Collections.sort(list, new Comparator<node>() { @Override public int compare(node n1, node n2) { if (n1.z >= n2.z) { return 1; } else { return -1; } } }); for(int i=1;i<=n;i++){ p[i]=i; } int i = 0; for(node s:list){ x = s.x; y = s.y; z = s.z; int xf = find(x); int yf = find(y); union_p(xf,yf); if(find(1)==find(n)){ break; } } System.out.println(z); }}
阅读全文
0 0
- Java 地铁修建
- 地铁修建
- CCF-CSP 地铁修建 JAVA 201703-4
- CCF 201703-4 地铁修建 Java
- ccf地铁修建
- CCF CSP 地铁修建
- CCF 地铁修建
- 【CSP201703-4】地铁修建
- ccf 修建地铁
- ccf-地铁修建
- 地铁修建 CCF
- ccf-2017034地铁修建
- ccf csp 地铁修建
- CCF CSP 第十次 第四题 地铁修建 JAVA版
- 第十次ccf 地铁修建
- ccf 201703-4 地铁修建
- 201703-4 地铁修建 ccf
- Dijkstra算法之地铁修建
- 天耀18期
- springboot源码分析3-springboot之banner类架构以及原理
- 第四章--文件和目录
- scala 通配符的用法
- 深度学习优化算法总结(cs231n)
- Java 地铁修建
- LabVIEW之基于http协议的文件的上传与下载
- openCV java(JFrame) 实现人脸识别,人脸自动检测,自动保存裁剪后人脸
- C#/.NET中删除指定文件夹下所有文件和文件夹的几种方法汇总
- 计算几何——HDUOJ 2108
- 制作苹果研发者证书和MAC的CSR证书
- 《SoloBug
- ExtJs之treePanel实例
- windows截屏录屏 (D3d) 游戏黑屏 解决思路