SZU:L89 Frog Encoding

2024-06-02 04:08
文章标签 encoding frog szu l89

本文主要是介绍SZU:L89 Frog Encoding,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Judge Info

  • Memory Limit: 65536KB
  • Case Time Limit: 3000MS
  • Time Limit: 3000MS
  • Judger: Normal

Description

青蛙们发现在传输信件时经常会被别人偷看,愤怒的青蛙向码农们求救。于是,码农们为它们提供了一套加密和解密的方法,从而将它们的信件内容加密成一段莫尔斯电码。现在给出译码程序:
0.加密序列为:

----**----***--**---**---*------******--***--**---**---*----**---***---*****----***--**-----******--

1.每五个字符为一段的莫尔斯电码各对应着一个数字,将其转换为数字为:

91322173322123613273

2.将该串数字分拆为两个一小段的形式:

91 32 21 73 32 21 23 61 32 73

3.按以上每小段中的两个数字在手机上输出字母,当该两个数字为xy时,按y次数字键x即可得到对应字母(如91='w'),以下为对应字母串:

WEAREACMER

至此,"WEAREACMER(We are ACMer)"即为解密序列,加密序列已解密成功。 现在,你能将程序中所输入的一串加密序列解密吗?

Input

第一行输入Case个数t(t<500),对于余下t行,每行输入一串莫尔斯电码序列(保证序列有效,序列长度为l,l为10的整数倍且l<5000)

Output

对于每个Case,输出一行,以表示其对应结果(所有字母用大写表示)

Sample Input

1
----**----***--**---**---*------******--***--**---**---*----**---***---*****----***--**-----******--

Sample Output

WEAREACMER

Init

莫尔斯电码表:
0 ----- 1 *----
2 **--- 3 ***--
4 ****- 5 *****
6 -**** 7 --***
8 ---** 9 ----*
手机键盘字母对应表:
2 ABC   3 DEF
4 GHI   5 JKL
6 MNO   7 PQRS
8 TUV   9 WXYZ

解题思路:用二维数组来做,而且用到了C程序设计语言第一章的 s[++] = a[++] != '\0' ,感觉这题目很好所以发到博客来。

 1 #include <stdio.h>
 2 #include <string.h>
 3 
 4 char M[10][6] = {"-----","*----","**---","***--","****-","*****","-****","--***","---**","----*"};
 5 char N[10][5]={"","","ABC","DEF","GHI","JKL","MNO","PQRS","TUV","WXYZ"};
 6 char s[5012];
 7 char A[10];
 8 int B[1012];
 9 int main() {
10     int t,i,k,j, len;
11     scanf("%d", &t);
12     while (t--) {
13         scanf("%s", s);
14         len = strlen(s);
15         for (i=0;i<len;i+=5) {
16             j=i;
17             k=0;
18             while (k<5) 
19                 A[k++] = s[j++];
20             A[5] = '\0';
21             for(j=0;j<10;j++) if(strcmp(A,M[j])==0) break;
22             B[i/5] = j;
23     //        printf("%d", j);
24         }
25         for(i=0;i<len/10;++i)
26             putchar(N[B[2*i]][B[2*i+1]-1]);
27         printf("\n");
28     }
29     
30 }

 

 

这篇关于SZU:L89 Frog Encoding的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1022990

相关文章

requests请求时,遇到的Accept-Encoding问题

在使用requests请求链接的时候,发现请求得到的内容总是一堆乱码: 此时请求的headers里的Accept-Encoding是这样写的: headers = {'Accept-Encoding': 'gzip, deflate','User-Agent': str('Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:81.0) Geck

gbase8s之Encoding or code set not supported

如图发生以下错误: 解决办法:在url里加上ifx_use_strenc=true 就可以了 参数解释:

【Java开发规范】IDEA 设置 text file encoding 为 UTF-8,且文件的换行符使用 Unix 格式

1. IDEA 设置 text file encoding 为 UTF-8 file -> settings -> editor -> code style -> file encoding Transparent-native-to-asci conversion 要不要勾选?==> 不推荐勾选(它的作用是用来自动转换ASCII编码,防止文件乱码;如果勾选了,项目文件放在 linu

XML Encoding = ‘GBK‘ after STRANS,中文乱码

最近帮同事处理了一个中信银行银企直连接口的一个问题,同事反馈,使用STRANS转换XML后,encoding始终是’utf-16’,就算指定了GBK也不行。尝试了很多办法始终不行,发到银行的数据中,中文始终是乱码。 Debug使用HTML视图看报文时也可以看到中文是乱码。 解决方案: 使用cl_sxml_string_writer=>create创建一个GBK编码的对象 ,用来做为ST

在机器学习领域中,One-Hot Encoding是什么

一般来说,机器学习模型要求所有的输入输出变量都必须是数字。如果我们的数据中包含了分类数据,我们必须将它们编码成一些数字,这样我们才可以拿去训练和评测一个机器学习模型。 我们常说的分类数据是不能够直接拿来训练、预测的。因为它们一般都不是数值数据(数字),分类数据一般都是一些名称、标签,比如说颜色的分类数据有”红“、”绿“、”黄“、“紫”等等,再比如汽车品牌分类数据有“比亚迪”、“奇瑞”、“长城”、

LeetCode 820. 单词的压缩编码 Short Encoding of Words

Table of Contents 一、中文版 二、英文版 三、My answer 四、解题报告   一、中文版 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A。 例如,如果这个列表是 ["time", "me", "bell"],我们就可以将其表示为 S = "time#bell#" 和 indexes = [0, 2, 5]。 对于每一个索引

encoding/pem

pem包实现了PEM数据编码(源自保密增强邮件协议)。目前PEM编码主要用于TLS密钥和证书 PEM 编码格式如下 -----BEGIN Type----- Headers base64-encoded Bytes -----END Type----- 编码 func Encode(out io.Writer, b *Block) error type Block struct {Type

encoding/json

json 包实现了json对象的编解码 获取v变量的json编码将json编码的数据存入到解析v变量中如何实现延时解析实现标准HTML转义实现json字符串格式缩进和前缀剔除编码后数据中的空白字符结构体json编码选项应用 获取v变量的json编码 func Marshal(v interface{}) ([]byte, error) package mainimport ("encoding/

encoding/gob

import "encoding/gob" gob包管理gob流——在编码器(发送器)和解码器(接受器)之间交换的binary值。一般用于传递远端程序调用(RPC)的参数和结果,如net/rpc包就有提供。 本实现给每一个数据类型都编译生成一个编解码程序,当单个编码器用于传递数据流时,会分期偿还编译的消耗,是效率最高的。 基本特点 1.gob流是自解码的 2.流中的所有数据都有前缀(采用一个预定

encoding/hex

hex 实现了16进制字符表示编解码 func Encode(dst,src []byte)intfunc EncodeToString(src []byte)stringfunc Decode(dst,src []byte)(int,error)func DecodeString(src []byte)(string,error)func DecodedLen(x int) intfunc E