2021. 又见情书

时间限制 1000 ms   内存限制 256 MB

明天,就是他的生日,pengym一如既往的一个人。

而今年的他,决定过一个不一样的生日,他要写一封情书!

他发现上次情人节写的情书随随便便就被人破译了,那可不符合他的心意,毕竟他太害羞了。

pengym在回忆过去时光的时候,回想起了看过的一本名叫《冒险小虎队》的书籍(也可以是《查理九世》)。书中的故事惊心动魄,里面的谜题也是十分有趣。然而其中最令人无法忘记的是——解密卡,只要将解密卡翻来覆去的在书上摆弄着,不一会儿谜题的答案就会自动浮现在读者的眼前。于是,他又想到了一种全新的方式来再次加密他所写的情书!

pengym将情书分成两张大小为 $ n \times n $ 的纸,其中一张是透明的,而另一张是写满了字的。他将透明纸上的一些地方涂黑,同时保留了部分地方是透明的。接着,他把两张纸都一起邮寄出去。他和对方约定好,只要按照一定的指令说明来阅读这两张纸,就可以获取其中的内容,具体方法如下:

  1. 首先把部分透明的纸盖在那张写满字的纸上;

  2. 然后把透明部分露出的内容,按照从上到下一行一行,每行从左到右的顺序,一个个的写出;

  3. 将透明纸按照约定好的顺序和指令四处转一下;

  4. 回到步骤 2 继续读;

pengym觉得这样的加密方法肯定已经天衣无缝了,于是就心满意足的把情书写好,将信件和约定的指令寄出去了。

可是万万没想到,他的加密方法直接夭折在最初,他的信件和指令说明书在邮寄的过程中被人拦截了。而现在这些内容都落到了正在打校赛的你的手上,你能有办法将他写的情书读出来吗?

输入数据

第 $1$ 行,两个个整数 $n,q$ 。 $ 1 \le n \le 1000 ,1 \le q \le 10$ 。

第 $2$ 到第 $ n + 1 $ 行,每行 $n$ 个字符,代表透明纸,‘O’ 没有涂黑的地方,‘#’ 代表被涂黑的地方;

第 $ n + 2 $ 到第 $ 2n + 1 $ 行,每行 $ n $ 个字符,数据保证仅包含大写字母,如描述中所示,是另一张纸。

接下来 $ q $ 行每行输入一个数字 $ x $ ,不同的 $ x $ 代表不同的指令, $ 1 \le x \le 5 $:

  1. 转90度:将透明纸按顺时针旋转90度。

  2. 转180度:将透明纸按顺时针旋转180度。

  3. 转270度:将透明纸按顺时针旋转270度。

  4. 对称:将透明纸在水平方向进行翻转(以中央铅垂线为中心形成原图案的镜像)。

  5. 不改变:原图案不改变。

输出数据

输出共一行,情书的内容。

PS : 根据题意,第一条指令前需先输出最开始的内容,再执行第一条指令。此外,指令是连续的,也就是说每一个指令都是在之前的指令完成后再执行。

样例输入

复制
4 3
####
#O##
####
###O
TSDB
BLVQ
LJUS
EDAO
1
2
3 · \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
    \n
 \n
 \n
 \n

样例输出

复制
LOVEBJTU        \n

样例说明

根据题意,先输出 LO ,按照指令 $1$ 进行旋转后输出 VE,在此基础上再次进行指令 $2$ 进行旋转,此时输出 BJ(请注意,之前下面的 $O$ 被旋转到上方,因此先输出 B),最后进行指令 $3$,输出 TU 。因此最终输出为 LOVEBJTU。

提交

请先 登录

© 2024 FAQs Contact About