w3 查找里程 HashMap
题目内容:
下图为国内主要城市之间的公路里程:
你的程序要读入这样的一张表,然后,根据输入的两个城市的名称,给出这两个城市之间的里程。
注意:任何两个城市之间的里程都已经给出,不需要计算经第三地中转。
注意:你并不需要去录入上图的数据,数据是在程序输入中给的。
输入格式:
首先,你会读到若干个城市的名字。每个名字都只是一个英文单词,中间不含空格或其他符号。当读到名字为“###”(三个#号)时,表示城市名字输入结束,###并不是一个城市的名字。如果记读到的城市名字的数量为n。
然后,你会读到nxn的一个整数矩阵。第一行的每一个数字,表示上述城市名单中第一个城市依次到另一个城市之间的里程。表中同一个城市之间的里程为0。
最后,你会读到两个城市的名字。
输出格式:输出这两个城市之间的距离。
输入样例:
Hagzou Hugzou Jigxng ###
0 1108 708
1108 0 994
708 994 0
Hagzou Hagzou
输出样例:
708
package week3; import java.util.HashMap; import java.util.Scanner; class citymap{ private HashMap<String, Integer> cityid = new HashMap<String, Integer>(); public void setCityid(String s, int n) { cityid.put(s, n); } public int getId(String s) { return cityid.get(s); } public void print() { for( String k : cityid.keySet() ) { System.out.println(k + ":" + cityid.get(k)); } } } public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); String s = new String(); int cnt = 0; s = in.next(); citymap c = new citymap(); while(s.equals("###") != true) { c.setCityid(s, cnt++); s = in.next(); } int[][] dis = new int[cnt][cnt]; for(int i = 0; i < cnt; i++) { for(int j = 0; j < cnt; j++) { dis[i][j] = in.nextInt(); } } String sstart = in.next(); String send = in.next(); System.out.println(dis[c.getId(sstart)][c.getId(send)]); in.close(); } }
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
7月最强书单丨博文视点新品畅销TOP10,让技术带你燃爆整个7月
2018年的夏天时间飞速流转,马上我们就要告别持续high了一个多月的世界杯,之后空虚寂寞的闲暇时光要如何度过? 今天小编就帮你介绍10本畅销新书,包含AI、架构、安全、测试、技术管理、移动开发、数据分析诸多方面。 用技术做助攻,让你在球(职)场如鱼得水,弹无虚发。 TOP1 《码农翻身》 刘欣 著 书中把计算机元素和行为用拟人手法编成一个个精彩纷呈的故事,绘声绘色且深入浅出地演绎晦涩枯燥的编程知识。 编程初学者可以津津有味地学习,老手也能饶有兴致地查漏补缺。 学习优秀的架构师是如何思考、如何抽象、如何成长的,从操作系统、Java语言到Web技术,每个主题都深入浅出。 TOP2 《Node.js:来一打 C++ 扩展》 死月 著 目前市面上的图书多停留在对Node.js入门知识的讲解,如果想进一步提升功力,你会发现本书正好可以满足你的刚需——学习完本书,你可以毫无压力地秒变全端高手! 以 Chrome V8 的知识作为基础,配合 GYP 的一些内容,将教会大家如何使用 Node.js提供的一些 API 来编写其 C++ 的原生扩展。买这一本书相当于买了“Node.js 的底层风格、 C...
- 下一篇
国外Python黑客技术,诱骗玩的真好,Dnspwn攻击实战教程!
原理 记得有个大佬说过,百分之八十的黑客工具都是用Python实现。此黑客攻击首先利用"airpwn"工具创建了目标HTTP,接着对DNS进行攻击。 这种攻击的思想非常简单: 假如在一个开放的WLAN上有两个人:Bob和Eve。E想让B访问她创建的恶意网页,这样她就可以通过隐藏性的下载给Bob的计算机上安装恶意软件,或者可能展示一个欺骗性的站点来试图窃取Bob的认证信息。过程:已经知道这种攻击如何运行的了,那么利用Python让我们把这种攻击自动化。设置Alfa AWUS06H无线网卡root@bt:~# airmon-ng start wlan0既然我们已经启动了监控模式,并运行在mon0接口上,那么让我们开始编写Python代码吧! 编写攻击代码 我们将利用scapy爬虫模块实现这种黑客攻击。我们开始先侦听目的端口为53的任何UDP包,然后发送这个包给我们后面将要编写名字为send_response的函数:现在创建个能够解析请求中相关信息并注入应答的函数。通过如下逐层上移的方式解析包并创建响应: 次要细节都忽略掉后,scapy框架使这个变得相当轻松,代码如下: 设置了所有的标志,再...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Windows10,CentOS7,CentOS8安装Nodejs环境
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- SpringBoot2全家桶,快速入门学习开发网站教程
- MySQL8.0.19开启GTID主从同步CentOS8