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());
}
}

最新文章

  1. 据说练就了一指禅神功的觅闻实时手机新闻网,正以每天2000+IP的用户量递增。有智能手机的可以当场进行体验,没有的就算了哈
  2. Gumby – 基于 Sass 的灵活的,响应式 CSS 框架
  3. keypress,keydown,keyup,charCode,keyCode兼容性问题
  4. ubuntu默认防火墙
  5. Hierachy Viewer 使用 monitor命令
  6. 9)Java内部类(Inner Class)
  7. python内置函数(2)-递归与迭代
  8. HDOJ 1429 胜利大逃亡(续) (bfs+状态压缩)
  9. 本科非cs菜鸟计算机面试实录
  10. Java的演化-Java8实战笔记
  11. 第二章:Python基础の快速认识基本数据类型和操作实战
  12. Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)
  13. js中Attribute和property的区别与联系
  14. JavaScript碎片—函数闭包(模拟面向对象)
  15. 理解SQL的左连接与右连接
  16. 5、在Dreamweaver cc 2017中添加服务器扩展组件
  17. 刨根究底字符编码之—UTF-16编码方式
  18. 如何将你的github仓库部署到github pages(转)
  19. IntelliJ Idea设置单击打开文件或者双击打开文件、自动定位文件所在的位置
  20. 2018.09.24 codeforces 1051F. The Shortest Statement(dijkstra+lca)

热门文章

  1. 2019牛客多校 Round3
  2. Java——方法及构造方法、intellij IDEA中的一些快捷键
  3. 001、Python数据结构
  4. 什么样的 SQL 不走索引
  5. HDU2837 Calculation(指数循环节)题解
  6. css text-align-last &amp; text-align
  7. how to disabled alert function in javascript
  8. node.js &amp; Unbuntu Linux &amp; nvm &amp; npm
  9. npm &amp; package.json &amp; directories &amp; files
  10. GitHub Learning Lab