Start: Jul, 08, 2025 09:00:00
2025_7_8_Python培训班_数据结构与算法练习
End: Aug, 30, 2025 20:00:00
Time elapsed:
Time remaining:

QF 学加密 3121

Time Limit:  1 s      Memory Limit:   1024 MB
Submission:2     AC:2     Score:0

Description

QF 是一个热爱学习的好孩子(?),为了有更好的理由嘲笑QF,gge决定拿出他祖传的小学奥数题考考他。

gge扔给了QF一个明文,QF 需要按照步骤快速的

推出整个密文,你可以帮帮他吗

①将待加密字符依次转换为数字,“A”对应 0,“B”对应 1,以此类推

②将转换后的数字按列优先存储的方式,

存入n * n的矩阵中,空缺部分用-1补全

③值变换:将矩阵中每一行除-1外的数据增加k值,

若增加后的值超过 25,则重新从0开始

④位置变换:将矩阵中每一行的数据向左循环移动k位
⑤按行优先依次读取矩阵中的数字

⑥将 0-25 按字母表顺序转换为字母,-1 用“#”代替,输出加密后的字符串。


Input

第一行读入 T : T 是测试样例的数目
随后每一组测试样例中

第一行是 明文 S,第二行是n (n <= 1000),代表使用 n * n 大小的矩阵,第三行是k (k <= 1000000),代表增加的值 

(∑1T n <= 1000)

Output

按行输出每组测试点的密文

Samples

input
2 XZQXQ 3 2 DUOOCX 3 10
output
#ZZ#BS#S# Y#NM#EH#Y