B3757 [信息与未来 2021] 摩尔斯电码

· · 题解

欢迎报名洛谷网校,期待和大家一起进步!

本题考察字符串。

我们编写一个函数 char decode(string s),表示将读入的摩尔斯电码 s 翻译成一个字符并且返回的结果。根据给出的图示对应表,我们可以编写一个如下的函数:

char decode(string s) {
    if (s == ".-") return 'A';
    if (s == "-...") return 'B';
    if (s == "-.-.") return 'C';
    if (s == "-..") return 'D';
    if (s == ".") return 'E';
    if (s == "..-.") return 'F';
(以下省略)
}

接着在主程序中,我们每读入一段摩尔斯电码 s,就直接将其传入函数 decode 中,输出其返回值即可。参考代码:

for (int i = 1; i <= n; i++) {
    string s;
    cin >> s;
    cout << decode(s);
}

本题的样例 2 的输出是 THEQUICKBROWNFOXJUMPSOVERTHELAZYDOG,其恰好包含所有 26 个英语字母,因此可以用这个样例检验你的 decode 函数是否正确。