题目内容:
下图为国内主要城市之间的公路里程:
城市距离
你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程。
注意:任何两个城市之间的里程都已经给出,不需要计算经第三地中转。
注意:你并不需要去录入上图的数据,数据是在程序输入中给的。
输入格式:
首先,你会读到若干个城市的名字。每个名字都只是一个英文单词,中间不含空格或其他符号。当读到名字为“###”(三个#号)时,表示城市名字输入结束,###并不是一个城市的名字。如果记读到的城市名字的数量为n。
然后,你会读到nxn的一个整数矩阵。第一行的每一个数字,表示上述城市名单中第一个城市依次到另一个城市之间的里程。表中同一个城市之间的里程为0。
最后,你会读到两个城市的名字。
输出格式:
输出这两个城市之间的距离。
输入样例:
输入格式
Java
1
2
3
4
5
HagzouHugzouJigxng ###
01108708
11080994
7089940
Hagzou Jigxng
输出样例:
708
时间限制:500ms内存限制:32000kb
查找里程代码:
查找两城市距离
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//梁笔记
//https://zouzhongliang.com/
importjava.util.ArrayList;
importjava.util.HashMap;
importjava.util.Scanner;
publicclassMain{
privateArrayListCityList=newArrayList();
privateHashMap>Dist=newHashMap>();
privatestaticScannerin=newScanner(System.in);
publicvoidInput(){
Strings=in.next();
while(!s.equals("###")){
CityList.add(s);
s=in.next();
}
for(inti=0;i
HashMapEachDist=newHashMap();
for(intj=0;j
EachDist.put(CityList.get(j),in.nextInt());
}
Dist.put(CityList.get(i),EachDist);
}
}
publicintgetDist(StringstrCity1,StringstrCity2){
returnDist.get(strCity1).get(strCity2);
}
publicstaticvoidmain(String[]args){
MainCityDist=newMain();
CityDist.Input();
intD=CityDist.getDist(in.next(),in.next());
System.out.println(D);
}
}
注:这题用到面向对象思想编程,要用到ArrayList、HashMap两个容器,ArrayList用来存储城市,HashMap:用城市名作Key,距离作Val,所以定义是
HashMap内有HashMap
Java
1
HashMap>Dist=newHashMap>();
相关文章:java语言如何得到Unicode码中的汉字有时当我们手边没有Unicode码笔时,如何能快速的得到编码中的没有汉字,做为程序员应该是一定要会的知识。 首先要记住两个字 “一”“锯”这两个是Unicode码中汉字开始和结束;可以用这两字相减求出距离,再用距离+1做为for循环结束条件,for内语言就是输出或写到文件等。...
多项式加法一个多项式可以表达为x的各次幂与系数乘积的和,比如: 2x6+3x5+12x3+6x+20 现在,你的程序要读入两个多项式,然后输出这两个多项式的和,也就是把对应的幂上的系数相加然后输出。 程序要处理的幂最大为100。 输入格式: 总共要输入两个多项式,每个多项式的输入格式如下: 每行输入两个数字,第一个表示幂次,第二个表示该幂次的系数,所有的系数都是整数。第一行一定是最高幂,最后一行一定是0次幂。 注意第一行和最后一行之间不一定按照幂次降低顺序排列;如果某个幂次的系数为0,就不出现在输入数据中了;0次幂的系数为0时还是会出现在输入数据中。...
分解质因数分解质因数 题目内容: 每个非素数(合数)都可以写成几个素数(也可称为质数)相乘的形式,这几个素数就都叫做这个合数的质因数。比如,6可以被分解为2x3,而24可以被分解为2x2x2x3。 现在,你的程序要读入一个[2,100000]范围内的整数,然后输出它的质因数分解式;当读到的就是素数时,输出它本身。...
判断是不是完数判断是不是完数: 题目内容: 一个正整数的因子是所有可以整除它的正整数。而一个数如果恰好等于除它本身外的因子之和,这个数就称为完数。例如6=1+2+3(6的因子是1,2,3)。 现在,你要写一个程序,读入两个正整数n和m(1...
GPS数据处理NMEA-0183协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、PDA等设备。...
二进制的前导的零题目内容: 计算机内部用二进制来表达所有的值。一个十进制的数字,比如18,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。...
分数计算java题目内容:设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。这个类的构造函数是:...
有秒计时的数字时钟题目内容:这一周的编程题是需要你在课程所给的时钟程序的基础上修改而成。但是我们并不直接给你时钟程序的代码,请根据视频自己输入时钟程序的Display和Clock类的代码,然后来做这个题目。我们需要给时钟程序加上一个表示秒的Display,然后为Clock增加以下public的成员函数:...
java类继承第4周编程题本周我们介绍了以继承方式实现的媒体资料库,在课程代码实现的基础上,请实现一个表达MP3的媒体类型,能和CD、DVD一样存放进这个Database。请提交这个MP3类的代码。如果你认为为了能存放MP3,需要修改Item和Database,也请一并提交Item和Database的代码。...
java制作课程表java制作课程表:新建工程,工程中新建两个类KCBData、KCB。KCBData用于存 放Table表格数据,KCB实现窗体。...