poj1125
2015-09-21 10:03
267 查看
设计算法:Floyd
题目大意:输入n组数据,每组数据包括一个正整数m和m个数据对,例如第3次输入的数据为 2 1 4 6 5 表示编号为3的经纪人传播消息到编号为1的经纪人的时间为4,传播消息到编号为6的经纪人时间为5。要求根据n组数据求出由哪一位经纪人传播消息能以最快的速度让所有人都收到消息?求出该经纪人的编号和花费的时间
题目分析:若知道两两间的最短路径当然能求出某个及节点到其他所有结点所花费的时间,求两两间的最短路径,显然用Floyd。
代码如下:
题目大意:输入n组数据,每组数据包括一个正整数m和m个数据对,例如第3次输入的数据为 2 1 4 6 5 表示编号为3的经纪人传播消息到编号为1的经纪人的时间为4,传播消息到编号为6的经纪人时间为5。要求根据n组数据求出由哪一位经纪人传播消息能以最快的速度让所有人都收到消息?求出该经纪人的编号和花费的时间
题目分析:若知道两两间的最短路径当然能求出某个及节点到其他所有结点所花费的时间,求两两间的最短路径,显然用Floyd。
代码如下:
package com.solo.dijkstra; import java.util.Arrays; //消息从一结点A传到所有其他的结点所需要的时间所花的时间是最少的,求出该结点和最少的时间 import java.util.Scanner; public class Main_1125 { static int n; static int[][] dis=new int[101][101]; static int MAX=10000000; public static void main(String[] args) { Scanner in=new Scanner(System.in); n=in.nextInt(); int m=0; while(n!=0){ fill(dis,MAX); for(int i=1;i<=n;i++){ m=in.nextInt(); for(int j=0;j<m;j++){ dis[i][in.nextInt()]=in.nextInt(); } } floyd(); n=in.nextInt(); } } static void fill(int[][] a,int b){ for(int i=0;i<=n;i++){ for(int j=0;j<=n;j++){ if(i==j) continue; dis[i][j]=b; } } } static int[] d=new int[101]; static void floyd(){ //寻找两两间的最短路径 for(int k=1;k<=n;k++){ for(int i=1;i<=n;i++){ for(int j=1;j<=n;j++){ if(dis[i][j]>dis[i][k]+dis[k][j]){ dis[i][j]=dis[i][k]+dis[k][j]; } } } } int max=0; for(int i=1;i<=n;i++){ max=0; for(int j=1;j<=n;j++){ if(dis[i][j]>max){ max=dis[i][j]; d[i]=max; } //System.out.print("dis["+i+"]["+j+"]="+dis[i][j]+" "); } //System.out.println(); } /*for(int i=1;i<=n;i++){ System.out.println("d["+i+"]="+d[i]); }*/ int re=2147483647 ;int node=0; for(int i=1;i<=n;i++){ if(d[i]<re){ re=d[i]; node=i; } } System.out.println(node+" "+d[node]); } }
相关文章推荐
- HTML的标签canvas
- iOS stretchableImageWithLeftCapWidth 图片放大不变形
- Linux笔记
- foreach循环
- Word Break II
- 程序员应该避免写注释
- unity3d手游《熊出没森林保卫战》手游源码
- Unreal Engine 4 C++自定义事件
- Maven搭建项目并且运行
- 数据挖掘(2):关联规则FpGrowth算法
- iOS开发 xib错误 One" nib but the view outlet was not set
- 数据库三范式
- JS+CSS实现简单的二级下拉导航菜单效果
- XcodeGhost制造者身份锁定 发道歉信称只为做实验
- iOS 百度地图SDK使用
- Jackrabbit并发控制
- 触发器中使用游标
- MOSFET选型注意事项及应用实例
- 奇偶位交换
- 面试题,问答背后的心理