1716: Morse
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 150 Solved: 92
[ Submit][ Status][ Web Board]
Description
Input
Output
Sample Input
A .-
B -...
C -.-.
D -..
E .
F ..-.
G --.
H ....
I ..
J .---
K -.-
L .-..
M --
N -.
O ---
P .--.
Q --.-
R .-.
S ...
T -
U ..-
V ...-
W .--
X -..-
Y -.--
Z --..
7
PROGRAMMING
REGIONAL
PARIS
CONTEST
CENTRAL
SOUTH
ACM
6
.--.-.--
...---..--....
-.-..-.-.-..-.-..
.-..--...----..-.-..
.--..-.-----..-..-----..-.--.
-.-.----.-....-
4
.--.-.--
.-...---..-
.-...---..-.
.--.-.--
1
.--..-.-......
0
Sample Output
ACM SOUTH CENTRAL REGIONAL PROGRAMMING CONTEST
.-...---..- not in dictionary.
PARIS
HINT
<pre name="code" class="cpp">#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<map>
using namespace std;
int main(){
string b, s[1000], s1[1000], S[1000], ss;
char x, y;
map<string,string> M;
int n, i, j;
for(i=0; i<26; i++){
cin>>x>>S[i];
}
cin>>n;
for(i=0; i<n; i++){
cin>>s1[i];
string a;
for(j=0; j<s1[i].size(); j++){
a += S[s1[i][j]-'A'];
}
M[a] = s1[i];
//cout<<s1[i]<<" "<<a<<endl;
}
while(cin>>n&&n){
bool flag = true;
for(i=0; i<n; i++){
cin>>s[i];
if(!flag)
continue;
if(M.find(s[i])!=M.end())
continue;
flag = false;
ss = s[i];
}
if(flag){
for(i=0; i<n-1; i++){
cout<<M[s[i]]<<" ";
}
cout<<M[s[i]]<<endl;
}
else{
cout<<ss;
printf(" not in dictionary.\n");
}
}
return 0;
}