1675: Morse Code

时间限制: 2 Sec  内存限制: 128 MB
提交: 73  解决: 33
[提交][状态][讨论版]

题目描述

摩尔斯电码(英语:Morse Code)是一种时通时断的信号代码,通过不同的排列顺序来表达不同的英文字母、数字和标点符号。是由美国人萨缪尔·摩尔斯在1836年发明。

                                                                                                    --摘自维基百科
摩尔斯电码的代码有点(.),划(-)以及停顿组成。
常见的字符编码见下表:
 
现在我们有码文,可惜的是字符中间的停顿不见了,例如"-.-.", 可以被译码为"C", "KE","NN", "NTE", "TAE", "TEN", "TETE", 或 "TR". 

输入

仅有一行,由点和划构成的字符串,字符串长度不超过25。

输出

按字母序输出字符串所有可能的译码,每种情况占一行。

样例输入

--.-.

样例输出

GN
GTE
MAE
MEN
METE
MR
QE
TC
TKE
TNN
TNTE
TTAE
TTEN
TTETE
TTR
#include<iostream>
#include<cstring>
#include<cstdio>
#include<string>
#include<map>
#include<set>
using namespace std; char dic[][]={
".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..", ".---",
"-.-", ".-..", "--", "-.", "---", ".--.", "--.-", ".-.", "...", "-",
"..-", "...-", ".--", "-..-", "-.--", "--.."
}; int len;
char a[], b[]; bool Strcmp(int cur, char *str){
int len = strlen(dic[cur]);
for(int i = ; i < len; i++)
if(*(str + i) != dic[cur][i]) return false;
return true; }
void DFS(int cur, int l){
if(cur == len) {
for(int i = ; i < l; i++) printf("%c", a[i]);
printf("\n"); return;
}
for(int i = ; i < ; i++){
if(Strcmp(i, b + cur)){
a[l] = 'A' + i;
DFS(cur + strlen(dic[i]), l + );
}
}
}
int main(){
scanf("%s", b);
len = strlen(b);
DFS( , );
}

最新文章

  1. 关于null值的排序
  2. border:none;与border:0;的区别
  3. 如何使用Nginx对抗DDoS攻击?
  4. 如何使用office2010插入屏幕截图
  5. 在CentOS上安装Sublime Text
  6. 关于Linux的内存(free -m)
  7. 多线程同步内功心法——PV操作上(未完待续。。。)
  8. SSIS包配置动态配置数据库连接
  9. mysql 8小时空闲后连接失效的解决
  10. Cocos2dx使用网络图片
  11. PHP 支付
  12. java学习笔记06-条件语句
  13. POJ 3070(求斐波那契数 矩阵快速幂)
  14. vue父组件如何调用子组件的属性或方法
  15. linux 学习笔记 APACHE安装总结
  16. [INet] WebSocket 数据收发的详细过程
  17. (vue.js)element ui 表单重置
  18. go 的正则表达式
  19. Hessian---java远程通讯 (zhuan)
  20. [ SHELL编程 ] 编程常用的ORACLE相关命令

热门文章

  1. Kotlin使用率达35%,Java要退位了?
  2. new 做了什么
  3. asp.net+批量下载附件
  4. [BZOJ3812]主旋律:状压DP+容斥原理
  5. elasticsearch-head插件的安装
  6. DVWA--CSP Bypass
  7. enum简单使用
  8. webpack.config.js文件
  9. MVC的各个部分都有那些技术来实现?如何实现?
  10. ORACLE sqlprompt设置