#A3415E. 螺旋加密
螺旋加密
螺旋加密
描述
Chip 和 Dale 发明了一种文本信息加密技术。他们事先秘密约定好矩阵的行数和列数。接着,将字符按如下方式编码:
-
所有文本只包含大写字母和空格。
-
每个字符均赋予一个数值:
- 空格 = 0
- A = 1, B = 2, …, Y = 25, Z = 26
然后,将每个字符对应数值的 5 位二进制数 依次按照 螺旋顺序(如下图所示)填入矩阵:
0 → 0 → 0 → 0
↓ ↓
1 → 1 → 0 1
↑ ↓ ↓
0 0 ← 1 0
↑ ↓
1 ← 1 ← 0 ← 0
当所有字符转换完成后,若矩阵未填满,则用 0 补齐。
最后,将矩阵中的数字 按行连接 成一个二进制串,即为加密结果。
例如,对于信息 "ACM",行列数均为 4 时:
- "A" → 00001
- "C" → 00011
- "M" → 01101
填充矩阵后得到:
0000
1101
0010
1100
最终加密结果为:
0000110100101100
输入
一行,包含两个整数 R 和 C(1 ≤ R, C ≤ 20),表示矩阵的行数和列数。
接下来是一个只包含 大写字母和空格 的字符串,长度 ≤ (R × C) / 5。
输入格式:
R C STRING
输出
输出一行,即加密后的二进制串。
若矩阵未填满,需要用 0 补齐。
样例输入
4 4 ACM
样例输出
0000110100101100