POJ2503 Babelfish Tire树
来源:互联网 发布:淘宝助理没有宝贝管理 编辑:程序博客网 时间:2024/06/08 02:39
题目大意:给出一个单词之间的意义对应关系,然后有若干次询问,每次询问给出一个单词,让你输出与该单词对应的单词。
分析:map可以做,tire树也行。可以说是 HDU1075 的简易版。不过这题真正纠结人的是输入部分====卡了我n久啊。
实现代码如下:
#include <cstdio>#include <cstdlib>#include <iostream>#include <cstring>#include <string>using namespace std;#define son_num 30struct tire{ char dic[15]; bool terminal; struct tire *next[son_num];};tire *root;tire *init(){ tire *p=(tire *)malloc(sizeof(tire)); for(int i=0;i<son_num;i++) p->next[i]=NULL; p->terminal=false; return p;}void insert(char earth[],char mars[]){ int len=strlen(mars); tire *p=root; for(int i=0;i<len;i++) { if(!p->next[ mars[i]-'a' ]) p->next[ mars[i]-'a' ]=init(); p=p->next[ mars[i]-'a' ]; } p->terminal=true; strcpy(p->dic,earth);}void find(char earth[]){ int len=strlen(earth); tire *p=root; int i=0; while(earth[i]!='\0'&&p->next[ earth[i]-'a' ]) { p=p->next[ earth[i]-'a' ]; i++; } if(p->terminal&&earth[i]=='\0') printf("%s\n",p->dic); else printf("eh\n");}int main(){ char earth[15],mars[15],str[30]; root=init(); while(gets(str)&&str[0]!='\0') { int len=strlen(str); int i=0,cnt=0; for(;i<len;i++) { if(str[i]==' ') break; earth[cnt++]=str[i]; } earth[cnt]='\0'; i++; cnt=0; for(;i<len;i++) mars[cnt++]=str[i]; mars[cnt]='\0'; insert(earth,mars); } while(gets(mars)&&mars[0]!='\0') find(mars); return 0;}
0 0
- POJ2503 Babelfish Tire树
- POJ2503 Babelfish Trie树
- poj2503 Babelfish 字典树
- POJ2503 - Babelfish - 字典树
- POJ2503 Babelfish字典树
- POJ2503 Babelfish(AC 字典树)
- POJ2503 Babelfish
- Babelfish poj2503
- POJ2503 Babelfish
- poj2503 Babelfish
- POJ2503-Babelfish
- POJ2503--Babelfish
- POJ2503 Babelfish
- poj2503 Babelfish
- POJ2503-Babelfish
- [POJ2503] Babelfish
- poj2503——Babelfish
- POJ2503 Babelfish(hash)
- HDU 2896 病毒侵袭
- 解决KindEditor图片上传对话框位置异常问题(浏览器放大缩小时对话框不见了)
- acdream 1064 完美数 (数位dp)
- 十分钟让你明白Objective-C的语法(和Java、C++的对比)
- nginx location匹配规则
- POJ2503 Babelfish Tire树
- winform 中panel动态添加控件坐标原点问题
- 列表 环 判定 初始位置
- 3Sum
- iOS学习之 plist文件的读写
- 将输入的阿拉伯数字转换的汉字的大写输出
- 一个标准的JavaBean具备哪些特点
- Word Ladder
- String,StringBuffer与StringBuilder的区别??