博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
poj2503 二分查找字符串
阅读量:4205 次
发布时间:2019-05-26

本文共 1781 字,大约阅读时间需要 5 分钟。

Babelfishpoj 2503

你刚刚从滑铁卢搬到一个大城市里面,这个城市里的人们都讲着外文都带着很令人费解的方言。不过很幸运,你有本字典可以帮助你理解这些话语。

输入:

输入包括100,000个字典条目,紧接着是一个空行,然后便是等待你翻译的消息,每个消息中的单词数目最多不超过100,000。每一个字典条目都只有一行,包括一个英文单词和一个外文单词,中间用个空格分隔。不会在字典中出现两个相同的外文单词。每一个消息都是由一系列的外文单词构成,每个单词占一行,单词最多不会超过10个小写字母。

输出:

输出翻译成英文的消息,每行一个单词,字典中没出现的单词需要翻译成“eh”

输入样例:

dog ogday

cat atcay

pig igpay

froot ootfray

loops oopslay

atcay

ittenkay

oopslay

输出样例:

cat

eh

loops

#include
#include
#include
#include
using namespace std;int main(){ char str[20]; char a[10],b[10]; map
mp; string s; while(gets(str)&&str[0]!=0) { sscanf(str,"%s %s",a,b); mp[b] = a; } while(cin>>s) { if(mp[s].size()) cout<
<

////  main.cpp//  二分////  Created by liuzhe on 16/6/1.//  Copyright © 2016年 my_code. All rights reserved.//#include 
#include
#include
#include
#include
#include
#include
using namespace std;//poj 2503 二分const int mm=100010;class node{public: ///记录字典 char e[60],s[60];}dic[mm];///需要翻译的单词char t[60];int pos;bool cmp(node a,node b){ return strcmp(a.s,b.s)<0;}///二分查找翻译的单词位置,查不到说明是外文int binserch(char*s){ int l=0,r=pos-1; while(l<=r) { int mid=(l+r)/2; if(strcmp(dic[mid].s,s)==0)return mid; else if(strcmp(dic[mid].s,s)>0)r=mid-1; else l=mid+1; } return -1;}int main(){ pos=0;///字典中单词的个数 char z; while(scanf("%s%c",dic[pos].e,&z)!=EOF) { ///如果取到中间是\n说明字典已经读入完 ///并读入了一个需要查找的单词 if(z=='\n') { strcpy(t,dic[pos].e);break; } scanf("%s",dic[pos++].s); } ///排序 sort(dic,dic+pos,cmp); int num=binserch(t); if(num>=0) printf("%s\n",dic[num].e); else puts("eh"); while(scanf("%s",t)!=EOF) { num=binserch(t); if(num>=0) printf("%s\n",dic[num].e); else puts("eh"); }}

转载地址:http://vsali.baihongyu.com/

你可能感兴趣的文章
ARC MRC 变换
查看>>
Swift cell的自适应高度
查看>>
【linux】.fuse_hiddenXXXX 文件是如何生成的?
查看>>
【LKM】整合多个LKM为1个
查看>>
【Kernel】内核热补丁技术揭秘
查看>>
【Error】/usr/bin/env: ‘python’: No such file or directory
查看>>
手工挂载VMware共享目录
查看>>
【Kernel】pid 与 tgid
查看>>
【Error】make LKM时 找不到符号
查看>>
【转载】【C语言】浅析C语言之uint8_t / uint16_t / uint32_t /uint64_t
查看>>
【转载】yum update 自动忽略内核更新
查看>>
【maven】打包jar上传到服务器运行
查看>>
关闭centos wayland
查看>>
【Error】chsh: PAM: Authentication failure
查看>>
【Error】zsh历史记录丢失
查看>>
解析漏洞总结
查看>>
有趣的二进制 读书笔记
查看>>
记一次vmware磁盘扩容part2:真正扩展根目录
查看>>
【Error】zsh: corrupt history file /home/myusername/.zsh_history
查看>>
记一次编译linux 2.6 和4.10内核源码
查看>>