问题描述

给定一个n个顶点,m条边的有向图(其中某些边权可能为负,但保证没有负环)。请你计算从1号点到其他点的最短路(顶点从1到n编号)。

输入格式

第一行两个整数n, m。

接下来的m行,每行有三个整数u, v, l,表示u到v有一条长度为l的边。

输出格式

共n-1行,第i行表示1号点到i+1号点的最短路。

样例输入

3 3

1 2 -1

2 3 -1

3 1 2

样例输出

-1

-2

数据规模与约定

对于10%的数据,n = 2,m = 2。

对于30%的数据,n <= 5,m <= 10。

对于100%的数据,1 <= n <= 20000,1 <= m <= 200000,-10000 <= l <= 10000,保证从任意顶点都能到达其他所有顶点。

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import java.io.StreamTokenizer;

import java.util.ArrayDeque;

import java.util.ArrayList;

import java.util.List;

import java.util.Queue;

public class zuiduanlu {

static int leng[];

public static void main(String[] args) throws IOException {

// TODO 自动生成的方法存根

StreamTokenizer in=new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in)));

PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out));

in.nextToken();

int n=(int)in.nval;in.nextToken();int m=(int)in.nval;

Listlist[]=new ArrayList[n];//存储路径

for(int i=0;i

{

list[i]=new ArrayList();

}

leng=new int[n];

boolean jud[]=new boolean[n];//判断是否在队列内

for(int i=1;i

for(int i=0;i

{

in.nextToken();int u=(int)in.nval;

in.nextToken();int v=(int)in.nval;

in.nextToken();int l=(int)in.nval;

list[u-1].add(new node(v-1, l));

}

Queueq1=new ArrayDeque();

q1.add(0);//第一个

while(!q1.isEmpty())

{

int x=q1.poll();

jud[x]=false;

for(int i=0;i

{

int index=list[x].get(i).x;//x邻居该节点的编号

int length=list[x].get(i).leng;//x到这个邻居的距离

if(leng[index]>leng[x]+length)

{

leng[index]=leng[x]+length;

if(!jud[index])//队列中没有该点

{q1.add(index);jud[index]=true;}

}

}

}

for(int i=1;i

{

out.println(leng[i]);

}

out.flush();

}

static class node

{

int x;

int leng;

public node(int x,int leng)

{

this.x=x;

this.leng=leng;

}

}

}

蓝桥杯java 最短路_Java实现蓝桥杯 最短路相关推荐

  1. java 龟兔赛跑预测_Java实现 蓝桥杯VIP 基础练习 龟兔赛跑预测

    题目描述 话说这个世界上有各种各样的兔子和乌龟,但是 研究发现,所有的兔子和乌龟都有一个共同的特点--喜欢赛跑.于是世界上各个角落都不断在发生着乌龟和兔子的比赛,小华对此很感兴趣,于是决定研究不同兔 ...

  2. java日志统计_Java实现蓝桥杯日志统计

    标题:日志统计 小明维护着一个程序员论坛.现在他收集了一份"点赞"日志,日志共有N行.其中每一行的格式是: ts id 表示在ts时刻编号id的帖子收到一个"赞" ...

  3. 简单的java单位换算_Java实现蓝桥杯单位转换

    单位转换 [问题描述] BobLee最近在复习考研,在复习计算机组成原理的时候,遇到了一个问题.就是在计算机存储里面的单位转换. 我们都知道1MB=1024KB,1KB=1024B,1B=8bit,他 ...

  4. Java单位重量转换_Java实现蓝桥杯单位转换

    单位转换 [问题描述] BobLee最近在复习考研,在复习计算机组成原理的时候,遇到了一个问题.就是在计算机存储里面的单位转换. 我们都知道1MB=1024KB,1KB=1024B,1B=8bit,他 ...

  5. Java夺宝_Java实现 蓝桥杯VIP 算法提高 夺宝奇兵

    算法提高 夺宝奇兵 时间限制:1.0s 内存限制:512.0MB [题目描述] 在一座山上,有很多很多珠宝,它们散落在山底通往山顶的每条道路上,不同道路上的珠宝的数目也各不相同.下图为一张藏宝地图: ...

  6. java 一元三次方程_Java实现 蓝桥杯VIP 算法训练 一元三次方程

    问题描述 有形如:ax3+bx2+cx+d=0 这样的一个一元三次方程.给出该方程中各项的系数(a,b,c,d 均为实数),并约定该方程存在三个不同实根(根的范围在-100至100之间),且根与根之差 ...

  7. java 日历算法_Java实现 蓝桥杯VIP 算法提高 任意年月日历输出

    算法提高 任意年月日历输出 时间限制:1.0s 内存限制:512.0MB 已知2007年1月1日为星期一. 设计一函数按照下述格式打印2007年以后(含)某年某月的日历,2007年以前的拒绝打印. 为 ...

  8. 蓝桥杯JAVA答题技巧,第九届蓝桥杯大赛个人赛省赛(软件类)C/C++ 大学B组比赛心得(还在更新)...

    第九届蓝桥杯大赛个人赛省赛(软件类)C/C++ 大学B组 考生须知: 考试开始后,选手首先下载题目,并使用考场现场公布的解压密码解压试题. 考试时间为4小时.时间截止后,提交答案无效. 在考试强制结束 ...

  9. 2013蓝桥杯java试题_2013年第四届蓝桥杯javaB组 试题 答案 解析

    1.世纪末的星期 曾有邪教称1999年12月31日是世界末日.当然该谣言已经不攻自破. 还有人称今后的某个世纪末的12月31日,如果是星期一则会.... 有趣的是,任何一个世纪末的年份的12月31日都 ...

  10. java蓝桥杯凑算是,第七届蓝桥杯JAVA B组真题解析-凑算式(第三题)

    第七届蓝桥杯JAVA B组真题解析-凑算式(第三题) 凑算式 A+B/C+DEF/GHI =10 (如果显示有问题,可以参见[图1.jpg]) 这个算式中AI代表19的数字,不同的字母代表不同的数字. ...

最新文章

  1. 今天起,在广东可以用百度App一键报警!
  2. Guava库学习:学习Collections(二)Lists
  3. android VectorDrawable使用笔记(二)
  4. 通用四级联动下拉列表
  5. java 实验张智,java实验指导书
  6. http://www.codeproject.com/Articles/11596/XPTable-NET-ListView-meets-Java-s-JTable
  7. Shiro总结和常见面试题
  8. SNMP原理和MIB库
  9. 中国最好的产品经理100人
  10. 2021软科 中国计算机专业 排名
  11. STM32F03学习笔记之ADC配置(含DMA配置)
  12. 图形化界面设计软件简要介绍
  13. 心物各东西:基因,文化和心灵
  14. 分享Qt多工程多目录的编译案例,subdirs
  15. FastReport不打印空白行
  16. apple iOS订阅开发-服务端
  17. 成功解决Windows和VM下的Ubuntu虚拟系统之间相互复制粘贴的问题
  18. mysql 复合索引(联合索引) a b c的使用
  19. tensorflow:自定义op
  20. 天美生物在美上市背后:财务报表存在重大缺陷,胡永卫持股34%

热门文章

  1. myeclipse 8.0GA 安装注册步骤
  2. linux hal 结构图
  3. 微信小程序,video 全屏视屏展示,广告样式
  4. 架构运维篇(四):Centos7/Linux中Tomcat安装SSL证书实践
  5. add p4 多个文件_Python实例:对文件夹图片批量添加logo操作
  6. .a 和.o 合并成一个.a_污水处理A/A/O工艺调试运行体会
  7. SQL Server 连接到服务器-错误233的解决办法
  8. MySQL Err126错误[Err] 126 - Incorrect key file for table '.\device\table_name.MYI'; try to repair it
  9. Layer/jquery获取父窗口的元素
  10. No package ‘vte-2.91‘ found