2503:Babelfish

总时间限制: 3000ms 内存限制: 65536kB

描述
You have just moved from Waterloo to a big city. The people here speak an incomprehensible dialect of a foreign language. Fortunately, you have a dictionary to help you understand them.

输入
Input consists of up to 100,000 dictionary entries, followed by a blank line, followed by a message of up to 100,000 words. Each dictionary entry is a line containing an English word, followed by a space and a foreign language word. No foreign word appears more than once in the dictionary. The message is a sequence of words in the foreign language, one word on each line. Each word in the input is a sequence of at most 10 lowercase letters.

输出
Output is the message translated to English, one word per line. Foreign words not in the dictionary should be translated as “eh”.
英文看的头疼,还是转成中文吧

2503:通天鱼

描述
您刚刚从滑铁卢搬到了一个大城市。这里的人说的是一门不可理解的外语。幸运的是,您有一本字典可以帮助您理解它们。

输入
输入最多包含100,000个字典条目,后跟一个空白行,然后是最多100,000个单词的消息。每个字典条目都是一行,其中包含一个英文单词,后跟一个空格和一个外语单词。在词典中,没有外来词出现多次。该消息是外语单词序列,每行一个单词。输入中的每个单词最多包含10个小写字母的序列。

输出
输出是将消息翻译成英语,每行一个单词。词典中未出现的外来词应翻译为“ eh”。

样例输入

dog ogday
cat atcay
pig igpay
froot ootfray
loops oopslayatcay
ittenkay
oopslay

样例输出

cat
eh
loops

解题思路
由于词条量非常的大,所以使用二分查找。对于查找字符串,要用到字符串排序。较简单得做法是建立字符串对得结构体,然后定义entry类实现comparable接口,重写cmp()方法完成排序。

参考程序

import java.util.*;class Entry implements Comparable<Entry>{String eng;String frgn;@Overridepublic int compareTo(Entry arg0){return this.frgn.compareTo(arg0.frgn);}
}
class cmp  implements Comparator<Entry>{@Overridepublic int compare(Entry o1,Entry o2){return o1.frgn.compareTo(o2.frgn);}
}
public class Main {public static void main(String[] args) {Scanner sc =new Scanner(System.in);int num=0;ArrayList<Entry> list = new ArrayList<>();while(true){String s = sc.nextLine();if(s.equals("")){break;}String[] split = s.split(" ");Entry entry = new Entry();entry.eng = split[0];entry.frgn = split[1];list.add(entry);}Collections.sort(list,new cmp());while(sc.hasNext()){String word = sc.nextLine();int left=0,right = list.size()-1;int n=0;while(left<=right){int mid = (left+right)/2;String tmp =list.get(left).frgn;String frgn1 =list.get(mid).frgn;n = frgn1.compareTo(word);if(n<0){left = mid +1;}else if(n>0){right = mid-1;}else{System.out.println(list.get(mid).eng);break;}}if(n!=0){System.out.println("eh");}}
}
}

附上原题链接http://bailian.openjudge.cn/practice/2503

(java)Poj2503:Babelfish(在线翻译)(通天鱼)相关推荐

  1. 基于Java实现在线翻译【100010578】

    在线翻译 1 需求分析 前端页面选择语言,输入文字,发送给服务器端,服务器端调用翻译 API 接口,将翻译结果传递至前端页面进行显示. 1.1 前端界面案例 1.2 参考资料 有道翻译 API:htt ...

  2. Java中REST API使用示例——基于云平台+云服务打造自己的在线翻译工具

    做为一个程序员可能在学习技术,了解行业新动态,解决问题时经常需要阅读英文的内容:而像我这样的英文小白就只能借助翻译工具才能理解个大概:不禁经常感慨,英文对学习计算机相关知识太重要了!最近发现IBM的云 ...

  3. Java学习(二)----java实现在线翻译

    一.主类 package test; import javax.swing.JFrame; public class test1 {public static void main(String[] a ...

  4. Java架构师在线视频,架构师的7大必备技能

    优秀的架构师的核心能力模型包含:编程.性能调优.架构设计等能力等. 编程能力 对工程师而言,编程是最基础的能力,必备技能,其本质是一个翻译能力,将业务需求翻译成机器能懂的语言. 提升编程能力的书籍有很 ...

  5. Java开发常用在线工具

    原文出处: hollischuang(@Hollis_Chuang) 作为一个Java开发人员,经常要和各种各样的工具打交道,除了我们常用的IDE工具以外,其实还有很多工具是我们在日常开发及学习过程中 ...

  6. 日语在线翻译网站大全

    英语翻译网站: http://www.readworld.com 中日英互译,还能上载翻译 http://165net.com http://www.worldlingo.com/ http://ww ...

  7. 利用Google在线翻译引擎制作自己的多国语言翻译机

    本文介绍如何利用Google在线翻译引擎来制作自己的多国语言翻译器.本程序利用Google的在线翻译引擎实现汉语到英语,英语到汉语,英语到日语的单词,整句的翻译.因为是在命令行运行,不支持/n,不能对 ...

  8. (转)利用Google在线翻译引擎制作自己的多国语言翻译机

    出处:http://www.blogjava.net/ekinglong/archive/2006/11/12/80704.html?Pending=true#Post 本文介绍如何利用Google在 ...

  9. 德语翻译器在线翻译中文

    德语翻译器在线翻译中文,今天给大家分享一款免费批量的翻译软件汇集了世界最好的几个翻译平台(百度/谷歌/有道),为什么这么多人使用它?首先第一点翻译质量高,选择性多.第二点支持各种语言互译,第三点可以批 ...

最新文章

  1. android微博客户端下载,iBeebo微博客户端
  2. Matlab中typecast函数由int8转换为int32
  3. RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[1, 3, 1402, 1200] to have
  4. python右键没有idle编辑了_Python文件右键找不到IDLE打开项解决办法
  5. python 32bit数据结构_python实现bitmap数据结构详解
  6. 推荐系统相关资源搜集
  7. 【面试】判断一棵二叉树是否为二叉排序树
  8. win7系统中出现“ 驱动器c中的卷没有标签...”的问题
  9. HDFS体系结构(NameNode、DataNode详解)
  10. ORCALE常用查询语句
  11. mysql 报表工具_Navicat功能:报表创建工具
  12. 齐鲁工业大学计算机学院复试名单,齐鲁工业大学2019年硕士研究生拟录取名单公示...
  13. ios重签名工具ios-app-signer的使用
  14. 6个实用的 Python 自动化脚本,告别加班,你学会了吗?
  15. 美国经济数据公布时间
  16. android 蓝牙打印代码,分享一个b4a下安卓操作蓝牙打印机的代码
  17. 树模型知识点(1)——决策树
  18. 安装Kdevelop--我的过程
  19. Java后台下载Excel模板并输出到浏览器上的样例
  20. 电脑用HDMI外界显示器后,没有声音

热门文章

  1. 详谈为什么互联网公司需要垂直分表
  2. Android主题样式style背景色(图片),在刘海屏上出现黑条问题
  3. Linux系统设置WiFi热点
  4. python总结6(画图、可视化)
  5. RadiAnt DICOM Viewer 2021 永久版
  6. android 微博发布,手机上怎么用微博?手机如何发广播?
  7. 基于STC89C52单片机的点阵屏(广告牌)设计(含Proteus仿真)
  8. 利用CSS中的transform、transition等动画效果制作拍立得卡片效果
  9. 一枚亲斤手对中大SYSUMSClub的puzzle的解题记录(writeup)(2021-10)(G2T1me)
  10. \t\t怎样去除人身体内的湿气?