CSU 1716 Morse

1716: Morse

Time Limit: 1 Sec   Memory Limit: 128 MB
Submit: 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;
}


 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值