1. 程式人生 > >HDU 1072 What Are You Talking About

HDU 1072 What Are You Talking About

分類

HDU map STL

題意

給出一個“翻譯-原文”的對應表,然後給出句子,要把句子中的原文都翻譯出來。

樣例輸入輸出

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!

想法

map對映,因為給了時間5s,直接寫也可以寫對,還有一種方法是tire樹,但是不熟悉,而且很模板麻煩,有3

程式碼

1825ms

#include<bits/stdc++.h>
using namespace std;
string a,b;
char s[11111]; 
map<string,string> mp;

int main() {
    //freopen("in.txt","r",stdin);
    cin >> a;//第一個start 
    while(cin >> a){
        if(a=="END") break;
        cin >> b;
        mp[b] = a;
    }
    cin >>
a;//第二個start getchar(); while(1){ gets(s);//gets錄入一行 if(strcmp(s,"END")==0) break; int len = strlen(s); a = ""; for(int i=0;i<len;i++){ if(islower(s[i])){ a+=s[i]; }else{ if(mp.find(a)!=mp.end()){
cout << mp[a]; }else{ cout << a; } cout << s[i]; a = ""; } } cout << endl; } return 0; }