• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            hdu1075

            What Are You Talking About

            Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 102400/204800 K (Java/Others)
            Total Submission(s): 6842    Accepted Submission(s): 2086


            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
            START from fiwo hello difh mars riwosf earth fnnvk like fiiwj END START difh, i'm fiwo riwosf. i fiiwj fnnvk! END
             

            Sample Output
            hello, i'm from mars. i like earth! 好開心,125ms,statistic里面第三,happying……
            第二個trie,雖然調了老半天,是些字符串處理的錯誤
            wa了兩邊,原因是count是用來判斷有無該單
            #include <cstdio>
            #include 
            <cstdlib>
            #include 
            <cstring>
            #include 
            <cmath>
            #include 
            <ctime>
            #include 
            <cassert>
            #include 
            <iostream>
            #include 
            <sstream>
            #include 
            <fstream>
            #include 
            <map>
            #include 
            <set>
            #include 
            <vector>
            #include 
            <queue>
            #include 
            <algorithm>
            #include 
            <iomanip>
            #define pp printf("here\n")
            using namespace std;
            struct node
            {
                
            int next[26];
                
            char name[11];
                
            int count;
                
            void init()
                
            {
                    memset(next,
            -1,sizeof(next));
                    count
            =0;
                }

            }
             s[5000005];
            int ind,sind;
            void cas_init()
            {
                s[
            0].init();
                sind
            =1;
            }

            void ins(char str[],char str1[])
            {
                
            int len=strlen(str);
                
            int i,j,ind;
                
            for(i=ind=0; i<len; i++)
                
            {
                    j
            =str[i]-'a';
                    
            if(s[ind].next[j]==-1)
                    
            {
                        s[sind].init();
                        s[ind].next[j]
            =sind++;
                    }

                    
            //s[ind].count++;
                    ind=s[ind].next[j];
                }

                s[ind].count
            ++;
                len
            =strlen(str1);
                
            for(i=0; i<len; i++)  s[ind].name[i]=str1[i];
                s[ind].name[len]
            ='\0';
            }

            int search(char str[])
            {
                
            int ind,i,j,len=strlen(str);
                ind
            =0;
                
            for(i=0; i<len; i++)
                
            {
                    j
            =str[i]-'a';
                    
            if(s[ind].next[j]==-1)
                        
            return 0;
                    
            else ind=s[ind].next[j];
                }

                
            return ind;
            }

            int main()
            {
                
            int i,j,len,tmp,ai,k;
                cas_init();
                
            char str[36],str11[15],strn[15];
                
            char str1[1005],str2[10050];
                gets(str);
                
            while(gets(str)&&!(strcmp(str,"END")==0)) 
                
            {
                    len
            =strlen(str);
                    i
            =0;
                    
            while(i<len&&str[i]!=' '{str11[i]=str[i];i++;}str11[i]='\0';
                    i
            ++;
                    j
            =i;
                    
            while(j<len){strn[j-i]=str[j];j++;}strn[j-i]='\0';
                
            //    puts(strn);puts(str11);
                    ins(strn,str11);

                }

                gets(str);
                
            while(gets(str1)&&(strcmp(str1,"END")!=0))
                
            {
                    len
            =strlen(str1);
                    i
            =0;
                    j
            =0;
                    ai
            =0;
                    
            while(j!=len)
                    
            {
                        
            while((str1[i]<'a'||str1[i]>'z')&&(i<len))
                        
            {
                            str2[ai]
            =str1[i];
                            ai
            ++;i++;
                        }

                        j
            =i;
                        
            while(str1[j]<='z'&&str1[j]>='a'&&j<len)
                        
            {
                            strn[j
            -i]=str1[j];
                            j
            ++;
                        }

                        strn[j
            -i]='\0';
                        i
            =j;
                        tmp
            =search(strn);
                        
            if(tmp!=0&&s[tmp].count>0)
                        
            {
                            
            for(k=0; k<strlen(s[tmp].name); k++)
                            
            {
                                str2[ai]
            =s[tmp].name[k];
                                ai
            ++;
                            }

                        }

                        
            else 
                        
            {
                            
            for(k=0;k<strlen(strn);k++)
                            
            {
                                str2[ai]
            =strn[k];
                                ai
            ++;
                            }

                        }

                    }

                    str2[ai]
            ='\0';
                    puts(str2);
                }

                
            return 0;
            }


            posted on 2012-07-16 00:38 jh818012 閱讀(207) 評論(0)  編輯 收藏 引用

            <2025年7月>
            293012345
            6789101112
            13141516171819
            20212223242526
            272829303112
            3456789

            導航

            統計

            常用鏈接

            留言簿

            文章檔案(85)

            搜索

            最新評論

            • 1.?re: poj1426
            • 我嚓,,輝哥,,居然搜到你的題解了
            • --season
            • 2.?re: poj3083
            • @王私江
              (8+i)&3 相當于是 取余3的意思 因為 3 的 二進制是 000011 和(8+i)
            • --游客
            • 3.?re: poj3414[未登錄]
            • @王私江
              0ms
            • --jh818012
            • 4.?re: poj3414
            • 200+行,跑了多少ms呢?我的130+行哦,你菜啦,哈哈。
            • --王私江
            • 5.?re: poj1426
            • 評論內容較長,點擊標題查看
            • --王私江
            久久精品国产第一区二区| 亚洲午夜无码久久久久| 久久久久亚洲AV无码专区网站| 91精品日韩人妻无码久久不卡| 久久综合成人网| 久久久无码精品亚洲日韩按摩| 香蕉久久夜色精品国产小说| 综合久久精品色| 日本免费一区二区久久人人澡| 一本久久a久久精品综合香蕉| 精品久久久久久久无码| 热综合一本伊人久久精品| 久久精品国产亚洲av水果派| 久久久久九九精品影院| 色综合久久久久网| 色欲综合久久躁天天躁蜜桃| 久久综合精品国产一区二区三区 | 武侠古典久久婷婷狼人伊人| 97久久精品人妻人人搡人人玩| 热久久国产欧美一区二区精品| 伊人丁香狠狠色综合久久| 久久久亚洲欧洲日产国码二区| 人妻精品久久久久中文字幕| 国产99久久久国产精品~~牛 | 久久免费视频一区| 久久久91精品国产一区二区三区| 久久精品国产AV一区二区三区| 精品久久国产一区二区三区香蕉| 久久精品成人国产午夜| 国产成人久久精品激情| 久久精品人人做人人爽电影蜜月| 久久精品国产99国产精品导航| 久久久久久无码国产精品中文字幕 | 久久久久久一区国产精品| 91精品国产综合久久四虎久久无码一级 | 亚洲欧美成人久久综合中文网| 久久精品国产一区二区三区| 国产精品免费看久久久香蕉| 国产精品无码久久四虎| 久久久WWW成人免费毛片| 性做久久久久久久久久久|