华为地铁换乘 Java

public class MetroTransfor {
    
    static int ver=37;
    static int point=35;
    static int [][] distance= new int[ver][ver];
    static int [][] path= new int[ver][ver];
    public static  void  main(String [] args){
        
    
        
        initDistance();
        initPath();
        floyed();
        
        
    }

private static void initPath() {
        for(int row=0;row<ver;row++)  
            for(int col=0;col<ver;col++)  
                path[row][col]=row;
        
    }

private static void floyed() {
        
        for(int i=1 ; i<= ver; i++){
            for(int j=1 ; j<= ver; j++){
                for(int k= 1 ; k<= ver; k++){
                    if(distance[j][k]>distance[j][i]+distance[i][k]){
                        
                        distance[j][k]=distance[j][i]+distance[i][k];
                        path[j][k] = path[i][k];
                    }
                }
            }
        }
        
    }

private static void initDistance() {
        
        
        
        
        for(int i=1; i <=ver ;i++){
            for(int j=1 ;j<=ver; j++){
                if(i==j) distance[i][j]=0;
                else distance[i][j] = 10000;//设置为不可达
            }
        }
        
        
        int [] a = {0,1,2,3,4,5,6,7,8,33,9,10,11,12,13,35,14,15,16,17,0};//34 ,35 指T1,T2
        int [] b = {18,19,20,21,22,33,23,24,25,26,27,34,28,35,29,30,31,32};  //34 ,35 指T1,T2
        for(int i = 0;i<a.length-1;i++){
            distance[a[i]][a[i+1]] = 1;
            distance[a[i+1]][a[i]] = 1;
        }
        
        for(int i = 0;i<b.length-1;i++){
            distance[b[i]][b[i+1]] = 1;
            distance[b[i+1]][b[i]] = 1;
        }
        
        
        
        
    }
    
    
    
    
}

时间: 2024-08-08 00:04:01

华为地铁换乘 Java的相关文章

华为上机测试题(地铁换乘-java)

PS:自己写的,自测试OK,供大家参考. /* 高级题样题:地铁换乘描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的.经过的站点名分别如下,两条线交叉的换乘点用T1.T2表示.编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次).地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18地铁线B(直线)经过车站:B1

华为机试—地铁换乘(图文吐血整理)

题目:地铁换乘 描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的.经过的站点名分别如下,两条线交叉的换乘点用T1.T2表示.编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次). 地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18 地铁线B(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 

北京地铁换乘系统

北京市地铁图 GIthu地址:https://github.com/wuzufeng/beijingsubway 一.设计分析 在北京地铁换乘系统中,我将整个系统主要分成了3个主要模块,分别为:主控模块,IO模块,算法模块.而我认为在这3个模块中最复杂,也是最棘手的模块就是IO模块,因为在本次实验前我对Java的IO操作没有什么了解,所以我首先查询了关于Java的IO方面的资料和代码,对其有了一定的了解后,在按需求设计完成主模块后,我先设计了系统的读入文件模块. 主模块 package main

华为机试--地铁换乘

[问题] 描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的.经过的站点名分别如下,两条线交叉的换乘点用T1.T2表示.编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次). 地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18 地铁线B(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 B9 

华为机试--地铁换乘问题

问题描述: 描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的.经过的站点名分别如下,两条线交叉的换乘点用T1.T2表示.编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次). 地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18 地铁线B(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 B9

地铁换乘

题目简介: 描述:已知2条地铁线路,其中A为环线,B为东西向线路,线路都是双向的.经过的站点名分别如下,两条线交叉的换乘点用T1.T2表示.编写程序,任意输入两个站点名称,输出乘坐地铁最少需要经过的车站数量(含输入的起点和终点,换乘站点只计算一次). 地铁线A(环线)经过车站:A1 A2 A3 A4 A5 A6 A7 A8 A9 T1 A10 A11 A12 A13 T2 A14 A15 A16 A17 A18 地铁线B(直线)经过车站:B1 B2 B3 B4 B5 T1 B6 B7 B8 B9

计算地铁换乘--计算出所有的线路

地铁测试线路图 源码 public class StationSched { /// <summary> /// 所有的站点信息 /// </summary> List<StationInfo> stations = new List<StationInfo>(); /// <summary> /// 线路信息 /// </summary> List<ShipInfo> lines = new List<ShipIn

华为机试 java 实现去重排序 用Treeset

结合一道华为的机试题来展示 明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号.然后再把这些数从小到大排序,按照排好的顺序去找同学做调查.请你协助明明完成"去重"与"排序"的工作. Input Param n               输入随机数的个数 inputArray      n个随机整数组成的数组

利用无权图的单源最短路算法实现地铁换乘图

//Metro.php $MetroVertex = array( 1 => '体育中心', 2 => '体育西路', 3 => '杨箕', 4 => '东山口', 5 => '烈士陵园', 6 => '农讲所', 7 => '公园前', 8 => '西门口', 9 => '陈家祠', 10 => '长寿路', 11 => '黄沙', 12 => '芳村', 13 => '花地湾', 14 => '坑口', 15 =>