POJ-2387(原始dijkstra求最短路)
2024-09-01 02:54:20
Til the Cows Come Home
POJ-2387
- 这题是最简单的最短路求解题,主要就是使用dijkstra算法,时间复杂度是\(O(n^2)\).
- 需要注意的是,一定要看清楚题目的输入要求,是先输入边,再输入顶点,一开始我没看清,wrong answer了一次。
package POJ;
import java.util.*;
public class POJ_2387 {
private static int n,t;
static int [][]w;
static boolean []flag;//是否被遍历过
static int sta;//开始结点
static int []dis;//distance数组
static final int INF=0x3f3f3f3f;
public static int dijikstra() {
dis=new int[n];
flag=new boolean[n];
Arrays.fill(flag, false);
for(int i=0;i<n;i++) {
if(i!=sta)
dis[i]=INF;
else dis[i]=0;
}
for(int i=0;i<n;i++) {
int index=-1,mins=INF;
for(int j=0;j<n;j++) {
if(!flag[j]&&dis[j]<=mins) {
mins=dis[index=j];
}
}
if(index==-1)
break;
flag[index]=true;
for(int j=0;j<n;j++)
dis[j]=Math.min(dis[j], dis[index]+w[index][j]);
}
return dis[0];
}
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner cin=new Scanner(System.in);
//注意:这里先输入边再输入顶点!
t=cin.nextInt();
n=cin.nextInt();
w=new int[n][n];
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
w[i][j]=INF;
w[i][i]=0;
}
for(int i=0;i<t;i++) {
int from,to;
from=cin.nextInt();
to=cin.nextInt();
int len=cin.nextInt();
w[from-1][to-1]=w[to-1][from-1]=Math.min(len, w[from-1][to-1]);
}
sta=n-1;
System.out.println(dijikstra());
}
}
最新文章
- 据说练就了一指禅神功的觅闻实时手机新闻网,正以每天2000+IP的用户量递增。有智能手机的可以当场进行体验,没有的就算了哈
- Gumby – 基于 Sass 的灵活的,响应式 CSS 框架
- keypress,keydown,keyup,charCode,keyCode兼容性问题
- ubuntu默认防火墙
- Hierachy Viewer 使用 monitor命令
- 9)Java内部类(Inner Class)
- python内置函数(2)-递归与迭代
- HDOJ 1429 胜利大逃亡(续) (bfs+状态压缩)
- 本科非cs菜鸟计算机面试实录
- Java的演化-Java8实战笔记
- 第二章:Python基础の快速认识基本数据类型和操作实战
- Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)
- js中Attribute和property的区别与联系
- JavaScript碎片—函数闭包(模拟面向对象)
- 理解SQL的左连接与右连接
- 5、在Dreamweaver cc 2017中添加服务器扩展组件
- 刨根究底字符编码之—UTF-16编码方式
- 如何将你的github仓库部署到github pages(转)
- IntelliJ Idea设置单击打开文件或者双击打开文件、自动定位文件所在的位置
- 2018.09.24 codeforces 1051F. The Shortest Statement(dijkstra+lca)
热门文章
- 2019牛客多校 Round3
- Java——方法及构造方法、intellij IDEA中的一些快捷键
- 001、Python数据结构
- 什么样的 SQL 不走索引
- HDU2837 Calculation(指数循环节)题解
- css text-align-last &; text-align
- how to disabled alert function in javascript
- node.js &; Unbuntu Linux &; nvm &; npm
- npm &; package.json &; directories &; files
- GitHub Learning Lab