[Java] POJ 2387 最短路问题
一、思路
Djkstra模板 求1-N点的最短路。
import java.util.Arrays;
import java.util.PriorityQueue;
import java.util.Scanner;public class POJ_2387 {static int[][] G = new int[1005][1005];static int[] dis = new int[1005];static boolean[] vis = new boolean[1005];static int n, m;public static void main(String[] args) {Scanner sc = new Scanner(System.in);m = sc.nextInt();n = sc.nextInt();int u, v, w;for (int i = 0; i < m; i++) {u = sc.nextInt();v = sc.nextInt();w = sc.nextInt();if (G[u][v] == 0) {G[u][v] = G[v][u] = w;} else {G[u][v] = G[v][u] = Math.min(G[u][v], w);}}//求1-N的最短路init();dijkstra(1);System.out.println(dis[n]);}static void init() {//设置为无穷大Arrays.fill(dis, 0x3f3f3f);}static void dijkstra(int u) {dis[u] = 0;PriorityQueue<N> q = new PriorityQueue<N>();q.add(new N(0, u));while (!q.isEmpty()) {u = q.poll().v;if (vis[u]) continue; //该点若被访问,就换下一个点vis[u] = true; //标记为访问for (int v = 1; v <= n; v++) {if (!vis[v] && G[u][v] != 0 && dis[v] > dis[u] + G[u][v]) {dis[v] = dis[u] + G[u][v];q.add(new N(dis[v], v));}}}}
}
class N implements Comparable<N> {int minDis, v;public N(int minDis, int v) {this.minDis = minDis;this.v = v;}public int compareTo(N o) {if (minDis == o.minDis) return v - o.v;return minDis - o.minDis;}}
[Java] POJ 2387 最短路问题相关推荐
- A - Til the Cows Come Home POJ - 2387
A - Til the Cows Come Home POJ - 2387 最短路 #include<iostream> #include<cstdio> #include&l ...
- DIJSPFA-Til the Cows Come Home POJ - 2387
Til the Cows Come Home POJ - 2387 用dij和spfa写了做个对比,看了一篇很好的文章对这两个算法有了更好的理解**<Dijkstra+heap和SPFA的区别& ...
- POJ 2387 Til the Cows Come Home
传送门:http://poj.org/problem?id=2387 这是最短路径问题,本题有重边,但是spfa能解决这个问题: 实现代码: SPFA: 1 #include <iostream ...
- Poj 2387 Til the Cows Come Home 迪杰斯特拉(普通+优化)
Til the Cows Come Home 迪杰斯特拉(普通+优化) 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n( ...
- [Java] POJ 2386
一.思路: 求一个图中有多少个连通快即可.当发现一个点是'W'时,从这个点出发进行dfs,将他附近8个方向上的点都标记为'.',且又从这个8个方向(必须是'W')进行dfs.最终会将一个连通快全部标记 ...
- POJ - 2387 Til the Cows Come Home
感觉一直写的dij堆优化都是假的,最短路板子spfa+ dij堆优化 SPFA #include<stdio.h> #include<string.h> #include< ...
- 【POJ - 2387】 Til the Cows Come Home(单源最短路Dijkstra算法)
题干: Bessie is out in the field and wants to get back to the barn to get as much sleep as possible be ...
- poj 2387 Til the Cows Come Home dijkstra
题意: 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回来. 农场主约翰的田里有n(2<=n<=1000)个地标,唯一编号为1-n.地标 ...
- POJ 2387 Til the Cows Come Home (最短路径 模版题 三种解法)
原题链接:Til the Cows Come Home 题目大意:有 个点,给出从 点到 点的距离并且 和 是互相可以抵达的,问从 到 的最短距离. 题目分析:这是一道典型的最短路径模版 ...
- POJ 最短路问题-Dijkstra
POJ 最短路问题集锦: Dijkstra算法: 详细介绍: http://hi.baidu.com/iotbill/item/cb5fc1de28a3e63721e250d9 Dijkstra算法是 ...
最新文章
- 最大子段和问题分析和总结
- 10本计算机视觉必读经典图书,入门篇 + 提升篇
- java自学难点_java学习重难点
- 科大星云诗社动态20210518
- 全视曲面屏设计,三星S8又一次走在了行业创新的最前沿
- 代码编辑器横评:为什么 VS Code 能拔得头筹
- lvs mysql 端口_LVS配置及多端口服务配置
- [Codevs] 1081 线段树练习 2 ----“分块!”
- 利用RMAN转移裸设备到文件系统
- AI机器视觉技术在生活中的应用
- 六问阿里云计算安全,全面解析阿里云ECS服务器的计算安全进化之路
- 所谓厉害的人,遇到问题时的思维模式与我们的差别在哪?(转自知乎)
- linux运行虚幻引擎4,虚幻引擎4.25开发环境如何设置
- 计算机网络原理 谢希仁(第8版)第一章习题答案
- IDEA 常用插件安装
- 怎么把pdf分开?pdf文件拆分为单个pdf怎么拆分?
- 不太会说话,怎样提高说话的技巧?
- 指标公式c语言源码下载,【通达信】九全指标-指标公式源码
- 微信公众平台开发最佳实践(第2版)
- 屏幕录制一键截图工具 FastStone Capture 9.0 绿色便携中文版
热门文章
- 自定义validator
- 教育培训机构小程序开发需求有哪些?
- 云计算就业薪资怎么样 如何加入云计算行列
- SAP License:ERP系统和OA系统的区别?
- MATLAB信号的带宽估计及求带宽(3dB,90%带宽)
- [初级-详细]新大陆NewLand云平台Android离线程序开发(离线导入Moudle)
- SEM和SEO有什么区别,哪种更好一些
- java 发送短信功能_如何用Java实现短信自动发送功能
- Xshell远程连接服务器
- 忘了是出自雪中还是剑来或者就是癞蛤蟆?反正应该是烽火大太监的句子吧。还掺杂了许多别家的,记不清谁写的了,或许有西藏的佛陀