HDU 1072 What Are You Talking About
阿新 • • 發佈:2018-12-22
分類
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;
}