博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU What Are You Talking About
阅读量:6758 次
发布时间:2019-06-26

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

What Are You Talking About

Time Limit : 10000/5000ms (Java/Other)   Memory Limit : 102400/204800K (Java/Other)
Total Submission(s) : 13   Accepted Submission(s) : 8

Font: Times New Roman | Verdana | Georgia

Font Size:  

Problem Description

Ignatius is so lucky that he met a Martian yesterday. But he didn't know the language the Martians use. The Martian gives him a history book of Mars and a dictionary when it leaves. Now Ignatius want to translate the history book into English. Can you help him?

Input

The problem has only one test case, the test case consists of two parts, the dictionary part and the book part. The dictionary part starts with a single line contains a string "START", this string should be ignored, then some lines follow, each line contains two strings, the first one is a word in English, the second one is the corresponding word in Martian's language. A line with a single string "END" indicates the end of the directory part, and this string should be ignored. The book part starts with a single line contains a string "START", this string should be ignored, then an article written in Martian's language. You should translate the article into English with the dictionary. If you find the word in the dictionary you should translate it and write the new word into your translation, if you can't find the word in the dictionary you do not have to translate it, and just copy the old word to your translation. Space(' '), tab('\t'), enter('\n') and all the punctuation should not be translated. A line with a single string "END" indicates the end of the book part, and that's also the end of the input. All the words are in the lowercase, and each word will contain at most 10 characters, and each line will contain at most 3000 characters.

Output

In this problem, you have to output the translation of the history book.

Sample Input

STARTfrom fiwohello difhmars riwosfearth fnnvklike fiiwjENDSTARTdifh, i'm fiwo riwosf.i fiiwj fnnvk!END

Sample Output

hello, i'm from mars.i like earth!

Hint

Huge input, scanf is recommended.

Author

Ignatius.L
 
 该代码存在问题,如果只输入 r 这个字符,则问题就出来了
 
 
#include
#include
#include
using namespace std;struct Trie{ char wrd[20]; int flag; Trie *next[26]; Trie(){ for(int i=0;i<26;i++) next[i]=NULL; flag=0; }};Trie *root;char s[3100];void InsertTrie(char *str,char *wrd){ Trie *loc=root,*tmp; for(int i=0;str[i]!='\0';i++){ int id=str[i]-'a'; if(loc->next[id]==NULL){ tmp=new Trie(); loc->next[id]=tmp; } loc=loc->next[id]; } loc->flag=1; strcpy(loc->wrd,wrd);}int SearchTrie(char *str,char *wrd){ Trie *loc=root; for(int i=0;str[i]!='\0';i++){ int id=str[i]-'a'; if(loc->next[id]!=NULL) loc=loc->next[id]; else return 0; } if(loc->flag){ strcpy(wrd,loc->wrd); return 1; } return 0;}void release(Trie *rt){ if(rt==NULL) return ; for(int i=0;i<26;i++) if(rt->next[i]!=NULL) release(rt->next[i]); delete rt; rt=NULL;}int main(){ //freopen("input.txt","r",stdin); root=new Trie(); char str[20],wrd[20]; gets(s); while(gets(s) && s[0]!='E'){ sscanf(s,"%s%s",wrd,str); InsertTrie(str,wrd); } gets(s); int cnt,len; while(gets(s) && s[0]!='E'){ len=strlen(s); cnt=0; for(int i=0;i
='a' && s[i]<='z') str[cnt++]=s[i]; else{ str[cnt]='\0'; if(cnt>0){ if(SearchTrie(str,wrd)) printf("%s",wrd); else printf("%s",str); } printf("%c",s[i]); cnt=0; } } str[cnt]='\0'; if(cnt>0){ if(SearchTrie(str,wrd)) printf("%s",wrd); else printf("%s",str); } printf("\n"); } //release(root); 空间够用就别加,还浪费时间 return 0;}

 


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

你可能感兴趣的文章
引用数据类型赋值的具体步骤
查看>>
centos6.4双网卡实现共享上网
查看>>
UVA10474 Where is the Marble?
查看>>
二进制128位整数运算
查看>>
Linux shell编程学习笔记-----第七章
查看>>
oracle 查询char类型的数据
查看>>
Vue项目碰到"‘webpack-dev-server’不是内部或外部命令,也不是可运行的程序或批处理文件"报错...
查看>>
Android zxing扫描二维码 为什么有些机型扫描不出来或者很慢?
查看>>
SQLHelp sql数据库的DAL
查看>>
Java集合--LinkedList
查看>>
进阶第二课 Python内置函数(补)及自定义函数
查看>>
Spell It Right
查看>>
Spring AOP术语解释
查看>>
(一)通过JAVA连接SAP (sapjco3.jar在Windows和MacOS上的配置)
查看>>
《王者荣耀》的英雄是怎么诞生的?有没有最厉害的英雄?
查看>>
公司常用几种请求
查看>>
python3 字符串格式化
查看>>
一个字符在字符串中出现最多的次数的打印
查看>>
图片的三级缓存
查看>>
js跨域问题解决方案
查看>>