[蓝桥杯]摩尔斯电码

问题 1900: [蓝桥杯][算法提高VIP]摩尔斯电码

题目描述

摩尔斯电码破译。类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文。请不要使用"zylib.h",只能使用标准库函数。用' * '表示' . ',中间空格用' | '表示,只转化字符表。

摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988

输入

输出

样例输入

样例输出

package 字符串;

import java.util.Scanner;

/**
 * Created with IntelliJ IDEA.
 * User: 76147
 * Date: 2020-01-29
 * Time: 21:47
 * Description: 暴力法
 */
public class 摩尔斯电码 {
    static String[] f = {"*-", "-***", "-*-*", "-**", "*", "**-*",
            "-**", "****", "**", "*---", "-*-", "*-**", "--", "-*",
            "---", "*--*", "--*-", "*-*", "***", "-", "**-", "***-",
            "*--", "-**-", "-*--", "--**"};

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (sc.hasNext()) {
            String arr[] = sc.next().split("\\|");
            String res = "";
            for (int i = 0; i < arr.length; i++) {
                for (int j = 0; j < f.length; j++) {
                    if (arr[i].equals(f[j])) {
                        res += (char)('a'+j);
                    }
                }
            }
            System.out.println(res);
        }
    }

}

注意 分隔符|,需要用 \\|来转义

输出要小写

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容