算法提高 9-3摩尔斯电码 map
算法提高 9-3摩尔斯电码
摩尔斯码定义见:http://baike.baidu.com/view/84585.htm?fromId=253988。
1. 一次读入整行字符串,再进行后续解析。
2. 使用getchar或scanf一次读入一个字符,通过它们的返回值判断输入结束。
代码:
#include<iostream>
#include<string>
#include<map>
#include<cstdio>
#include<cstring>
using namespace std;
map<string,char> Map;
void init()
{
Map.insert(make_pair("*-",'a'));
Map.insert(make_pair("-***",'b'));
Map.insert(make_pair("-*-*",'c'));
Map.insert(make_pair("-**",'d'));
Map.insert(make_pair("*",'e'));
Map.insert(make_pair("**-*",'f'));
Map.insert(make_pair("--*",'g'));
Map.insert(make_pair("****",'h'));
Map.insert(make_pair("**",'i'));
Map.insert(make_pair("*---",'j'));
Map.insert(make_pair("-*-",'k'));
Map.insert(make_pair("*-**",'l'));
Map.insert(make_pair("--",'m'));
Map.insert(make_pair("-*",'n'));
Map.insert(make_pair("---",'o'));
Map.insert(make_pair("*--*",'p'));
Map.insert(make_pair("--*-",'q'));
Map.insert(make_pair("*-*",'r'));
Map.insert(make_pair("***",'s'));
Map.insert(make_pair("-",'t'));
Map.insert(make_pair("**-",'u'));
Map.insert(make_pair("***-",'v'));
Map.insert(make_pair("*--",'w'));
Map.insert(make_pair("-**-",'x'));
Map.insert(make_pair("-*--",'y'));
Map.insert(make_pair("--**",'z'));
}
int main()
{
string s;
init();
cin>>s;
int len=s.length();
int l=0,r=0;
while(r<len)
{
if(s[r]=='|')
{
cout<<Map[s.substr(l,r-l)];
l=r+1;
}
else if(r==len-1)
{
cout<<Map[s.substr(l,r-1+1)];
l=r+1;
}
r++;
}
return 0;
}
算法提高 9-3摩尔斯电码 map的更多相关文章
- Java实现 蓝桥杯 算法提高 摩尔斯电码
算法提高 9-3摩尔斯电码 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 摩尔斯电码破译.类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文.请不要使用"zy ...
- 算法笔记_085:蓝桥杯练习 9-3摩尔斯电码(Java)
目录 1 问题描述 2 解决方案 1 问题描述 问题描述 摩尔斯电码破译.类似于乔林教材第213页的例6.5,要求输入摩尔斯码,返回英文.请不要使用"zylib.h",只能使用 ...
- 摩尔斯电码(Morse Code)Csharp实现
摩尔斯电码,在早期的"生产斗争"生活中,扮演了很重要的角色,作为一种信息编码标准,摩尔斯电码拥有其他编码方案无法超越的长久生命.摩尔斯电码在海事通讯中被作为国际标准一直使用到199 ...
- 蓝桥杯 算法提高 9-3摩尔斯电码 _c++ Map容器用法
//****|*|*-**|*-**|--- #include <iostream> #include <map> #include <vector> #inclu ...
- [CTF]摩斯电码
摩尔斯电码 -----------转载 https://morse.supfree.net/ 摩尔斯电码定义了包括:英文字母A-Z(无大小写区分)十进制数字0-9,以及"?"&qu ...
- [Swift]LeetCode804. 唯一摩尔斯密码词 | Unique Morse Code Words
International Morse Code defines a standard encoding where each letter is mapped to a series of dots ...
- 算法提高 金属采集_树形dp
算法提高 金属采集 时间限制:1.0s 内存限制:256.0MB 问题描述 人类在火星上发现了一种新的金属!这些金属分布在一些奇怪的地方,不妨叫它节点好了.一些节点之间有道路相连 ...
- 算法提高 最小方差生成树(Kruskal)_模板
算法提高 最小方差生成树 时间限制:1.0s 内存限制:256.0MB 问题描述 给定带权无向图,求出一颗方差最小的生成树. 输入格式 输入多组测试数据.第一行为N,M,依次是 ...
- 蓝桥杯 算法提高 8皇后·改 -- DFS 回溯
算法提高 8皇后·改 时间限制:1.0s 内存限制:256.0MB 问题描述 规则同8皇后问题,但是棋盘上每格都有一个数字,要求八皇后所在格子数字之和最大. 输入格式 一个8*8 ...
随机推荐
- 【SQL注入】mysql中information_schema详解
在MySQL中,把 information_schema 看作是一个数据库,确切说是信息数据库.其中保存着关于MySQL服务器所维护的所有其他数据库的信息.如数据库名,数据库的表,表栏的数据类型与访问 ...
- js 两个日期比较相差多少天
var day1 = new Date("2017-9-17"); var day2 = new Date("2017-10-18"); console.log ...
- Appium python自动化测试系列之页面滑动原理讲解(十)
10.1.1 页面滑动原理分析 在页面滑动查找章节我们就讲了滑动的知识点,只是不知道大家是否有认真练习以及去理解,如果你认真练习.理解了那么我相信这一章节的东西不用看也能够完成,下面我们还是简单分析一 ...
- Establish the LAMP (Linux+Apache+MySQL+PHP) Development Environment on Ubuntu 14.04 Operating System
######################################################## Step One: Update the software package in yo ...
- ssh免密码记录
主机器A通过ssh连多台从机器(b1,b2,b3). 1.使用root用户操作,避免权限问题. 2.在主从机器中安装ssh,命令: ssh-keygen –t rsa 然后都回车,生成的文件在/roo ...
- OR in Matrix
OR in Matrix Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Submi ...
- Can you find it?
Can you find it? Time Limit: 10000/3000 MS (Java/Others) Memory Limit: 32768/10000 K (Java/Others) T ...
- js 函数声明和函数表达式
在ECMAScript中,创建函数的最常用的两个方法是函数表达式和函数声明,因为ECMA规范只明确了一点:函数声明必须带有标示符(Identifier)(就是大家常说的函数名称),而函数表达式则可以省 ...
- ⑨bootstrap组件 按钮式下拉菜单 输入框 使用基础案例
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&q ...
- 通讯框架 T-io 学习——给初学者的Demo:ShowCase设计分析
前言 最近闲暇时间研究Springboot,正好需要用到即时通讯部分了,虽然springboot 有websocket,但是我还是看中了 t-io框架.看了部分源代码和示例,先把helloworld敲 ...