poj - 2503 Babelfish
简单字典树。
1 #include <stdio.h> 2 #include <string.h> 3 const int N = 200000; 4 int nxt[N][26],word[N]; 5 char eng[N/2+10][11]; 6 bool end[N]; 7 int cnt,cur,p,f; 8 void insert(char *t, char *s) 9 { 10 cur = 0; 11 while(*t) 12 { 13 p = *t - 'a'; 14 if(!nxt[cur][p]) 15 { 16 memset(nxt[cnt],0,sizeof nxt[0]); 17 nxt[cur][p] = cnt++; 18 } 19 cur = nxt[cur][p]; 20 t++; 21 } 22 end[cur] = 1; 23 word[cur] = f; 24 strcpy(eng[f++],s); 25 } 26 void query(char *t) 27 { 28 cur = 0; 29 while(*t) 30 { 31 p = *t - 'a'; 32 if(!nxt[cur][p]) 33 { 34 printf("eh\n"); 35 return ; 36 } 37 cur = nxt[cur][p]; 38 t++; 39 } 40 if(end[cur]) 41 printf("%s\n",eng[word[cur]]); 42 } 43 int main() 44 { 45 char s1[11],s2[11],s[30]; 46 cnt = f = 1; 47 memset(nxt[0],0,sizeof nxt[0]); 48 while(gets(s),s[0]) 49 { 50 sscanf(s,"%s%s",s1,s2); 51 insert(s2,s1); 52 } 53 while(~scanf("%s",s1)) 54 query(s1); 55 return 0; 56 }
转载于:https://www.cnblogs.com/lzxskjo/archive/2012/08/29/2661090.html
poj - 2503 Babelfish相关推荐
- Poj 2503 Babelfish(Map操作)
一.Description You have just moved from Waterloo to a big city. The people here speak an incomprehens ...
- [POJ 2503] Babelfish【二分查找】
题目大意 给你一个词典,每行有两个字符串x,y,表示y翻译成x. 一行空行隔开. 给你一些单词y,问你翻译后的x,如果词典里没有,那么就输出"eh" 解题报告 C++调map,还可 ...
- POJ - 2503
POJ - 2503 这题用map做时有2100ms,而用字典树去做时360ms就过了. map的 字典树的: 下面是代码: 1 #include<iostream> 2 #include ...
- 58 - 算法 - 百练 2503:Babelfish 二分查找与存储
#define _CRT_SECURE_NO_WARNINGS #include <iostream> #include <cstdio> #include <cmath ...
- 【POJ 2503】Babelfish(水题)stl map存取即可
题目链接 题目链接 http://poj.org/problem?id=2503 题意 英文A <=> 方言B 输入B,求A Code(G++) #include <iostream ...
- 【POJ】2503 Babelfish(字典树,map,指针)
一.map 输入时候的格式有点难想,还有一种想法是用gets读取,然后用sscanf分开,分别存到两个数组中去,再加入map中,但是这一种方法目前还没有实现.. #include <iostre ...
- poj 2503(字符串hash)
解题思路(copy别人的):通过ELFhash函数来做.冲突处理则是用到链表的方法. #include <iostream> #include <fstream> #inclu ...
- poj 2503 Trie树
典型的Trie树, 算是复习一下字符串吧, 就是输入有点恶心,代码如下: #include <cstdio> #include <cstring> #include <a ...
- 北大OJ(POJ 2503)在线翻译
描述 你刚从滑铁卢搬到一个大城市.这里的人说着一种难以理解的外语方言.幸运的是,你有一本字典来帮助你理解它们. 输入 输入由多达100,000个字典条目组成,后面跟着一个空行,后面跟着多达100,00 ...
最新文章
- 大数据分布式集群搭建(9)
- 双脑协同RSVP目标检测
- python读取本地文件-python解析本地HTML文件
- innodb和myisam的区别
- OpenCASCADE可视化:应用交互服务之标准交互式对象类
- C语言中main函数的研究,以及对代码断点调试的研究(王爽老师 汇编语言)
- Python format() 函数
- count函数_计数函数Count、Counta、Countblank、Countif、Countifs技巧解读
- PartyUs 待添加内容(不定期更新)
- 链表根据主元切分成3段
- cordova 修改app名称和图标
- 电脑软件单击打开切换为双击打开
- s数据结构替换子表java版,数据结构(Java版)-习题解答与实验指导
- 参考文献中文字符间距过大问题
- [车联网安全自学篇] Car Hacking之CAN总线初探
- python wechat_wechat-sdk
- QDialog添加最大化最小化按钮
- kindeditor-4.1.10在线编辑器的使用
- 忆鲁迅《故乡》中的一句话
- 游戏大全(持续更新中……)
热门文章
- URAL - 1966 - Cycling Roads(并检查集合 + 判刑线相交)
- jquery中常容易出错的checkbox的获得值
- Arduino 实现八段数码管显示练习
- MooTools 1.4 源码分析 - (关于Core、Type等模块分析)
- 3年前的一个小项目经验,分享给菜鸟兄弟们(公文收发小软件:前期需求调查部分)...
- extract($_POST[])
- 使用phpStudyy运行tipask
- 挂载硬盘报错无法挂载、分区只读的解决方法
- Ext3和Ext4文件系统
- Oracle中是用case...when语句进行判断