SP2526 GNY07D - Decoding
题目描述
Chip 和 Dale 发明了一种加密方法,用于隐藏他们的文本消息。他们首先私下选择两个数字,这两个数字将分别用作矩阵的行数($R$)和列数($C$)。消息发送者使用以下方法将文本转换为中间格式:
1. 文本由大写字母 \[A-Z\] 和 `.` 组成。
2. 每个字符对应的十进制值为:`.` = 0, A = 1, B = 2, C = 3, ..., Y = 25, Z = 26。
发送者按螺旋顺序将字符的五位二进制表示填入矩阵中。为了让矩阵完全填满,会用0来补全。例如,若要编码的文本是 "ACM",且 $R=4$ 和 $C=4$,矩阵将被填充如下:

```
A = 00001, C = 00011, M = 01101
(补一个额外的 0)
```
矩阵中的位按行优先顺序进行拼接,然后发送给接收者。上述例子的编码结果为:0000110100101100。
输入格式
第一行输入一个整数 $N$,表示有 $N$ 个数据集($1 < N \leq 100$)。每个数据集包括一行,包含 $R$($1 \leq R \leq 20$),一个空格,$C$($1 \leq C \leq 20$),一个空格,以及表示矩阵内容的二进制字符串(共 $R \times C$ 个二进制数字)。这些二进制数字以行优先顺序排列。
输出格式
对每个数据集,输出一行,包含数字数据集编号(从 1 开始),一个空格,和解码后的文本消息。解码过程中应删去任何尾部的空格和不完整的字符。
**本翻译由 AI 自动生成**