算法提高 9-3摩尔斯电码
来源:互联网 发布:apk生成php源码 编辑:程序博客网 时间:2024/04/30 22:21
算法提高 9-3摩尔斯电码
时间限制:1.0s 内存限制:256.0MB
问题描述
摩尔斯电码破译。类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文。请不要使用"zylib.h",只能使用标准库函数。用' * '表示' . ',中间空格用' | '表示,只转化字符表。
摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988。
摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988。
提示
清橙进行评测时,输入是以EOF结尾的,而不是换行符。(EOF不是一个字符,“以EOF结尾”是一种通俗但不严谨的说法。)因此可以通过以下方式之一获取输入:
1. 一次读入整行字符串,再进行后续解析。
2. 使用getchar或scanf一次读入一个字符,通过它们的返回值判断输入结束。
1. 一次读入整行字符串,再进行后续解析。
2. 使用getchar或scanf一次读入一个字符,通过它们的返回值判断输入结束。
样例输出
我一开始在网上找资源,发现他们的太复杂了,其实只要熟练掌握String类与StringBuilder类就完全可以解决此题,废话不多说,代码如下
import java.util.Scanner;public class Main {public char Getchar(String A){char result = 0; if(A.equals("*-")) result = 'a'; else if(A.equals("-***")) result = 'b'; else if(A.equals("-*-*")) result = 'c'; else if(A.equals("-**")) result = 'd'; else if(A.equals("*")) result = 'e'; else if(A.equals("**-*")) result = 'f'; else if(A.equals("--*")) result = 'g'; else if(A.equals("****")) result = 'h'; else if(A.equals("**")) result = 'i'; else if(A.equals("*---")) result = 'j'; else if(A.equals("-*-")) result = 'k'; else if(A.equals("*-**")) result = 'l'; else if(A.equals("--")) result = 'm'; else if(A.equals("-*")) result = 'n'; else if(A.equals("---")) result = 'o'; else if(A.equals("*--*")) result = 'p'; else if(A.equals("--*-")) result = 'q'; else if(A.equals("*-*")) result = 'r'; else if(A.equals("***")) result = 's'; else if(A.equals("-")) result = 't'; else if(A.equals("**-")) result = 'u'; else if(A.equals("***-")) result = 'v'; else if(A.equals("*--")) result = 'w'; else if(A.equals("-**-")) result = 'x'; else if(A.equals("-*--")) result = 'y'; else if(A.equals("--**")) result = 'z';return result;}public void Getsentence(String ch){String str1;StringBuilder[] str = new StringBuilder[1000];int j=0,count = 0;str[j] = new StringBuilder(); for(int i=0;i<ch.length();i++){if(ch.charAt(i)=='|'){j++;str[j] = new StringBuilder(); //这一行比较重要,自己琢磨吧count=j;}else{String str2 = String.valueOf(ch.charAt(i)); //将char转换为string类str[j].append(str2);}}for(int k=0;k<=count;k++){str1 = str[k].toString(); //将Stringbuilder类转换为string类char temp = Getchar(str1);System.out.print(temp);}}public static void main(String[] args) {Main test = new Main();Scanner sc = new Scanner(System.in);String ch = sc.nextLine();test.Getsentence(ch);}}
算法提高 9-3摩尔斯电码
时间限制:1.0s 内存限制:256.0MB
问题描述
摩尔斯电码破译。类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文。请不要使用"zylib.h",只能使用标准库函数。用' * '表示' . ',中间空格用' | '表示,只转化字符表。
摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988。
摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988。
提示
清橙进行评测时,输入是以EOF结尾的,而不是换行符。(EOF不是一个字符,“以EOF结尾”是一种通俗但不严谨的说法。)因此可以通过以下方式之一获取输入:
1. 一次读入整行字符串,再进行后续解析。
2. 使用getchar或scanf一次读入一个字符,通过它们的返回值判断输入结束。
1. 一次读入整行字符串,再进行后续解析。
2. 使用getchar或scanf一次读入一个字符,通过它们的返回值判断输入结束。
样例输出
0 0
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码
- 算法提高 9-3摩尔斯电码 map
- 蓝桥杯算法提高 9-3摩尔斯电码
- 蓝桥杯 ADV-226 算法提高 9-3摩尔斯电码
- 蓝桥杯 算法提高 9-3摩尔斯电码 ADV-226
- 蓝桥杯 算法提高 9-3摩尔斯电码(Java解题)
- 蓝桥杯-9-3摩尔斯电码(java)
- 摩尔斯电码
- 摩尔斯电码
- 摩尔斯电码
- 蓝桥杯摩尔斯电码
- 摩尔斯电码 — 摩尔斯密码
- tensorflow入门2 几个函数的总结和手写数字识别
- 通过MyEclipse14生成Hibernate类文件和hbm.xml文件,或者annotatio...
- stm32学习之路:第七天
- Java集合之Map
- 二次采样
- 算法提高 9-3摩尔斯电码
- SSH Exception 2017.3.23-4org.springframework.orm.hibernate5.HibernateJdbcException
- pentaho 日期控件使用
- Dom 中 children 与childNodes 的区别
- LeetCode OJ 496. Next Greater Element I
- meta标签里面的几大必不可少的设置
- 爱上
- Java线程通信与协作的解决方案——等待/通知机制
- html中添加双下划线