Задача №3144. ASCII-art
Википедия
Флатландия – необычная страна, и искусство у флатландцев тоже необычное. Особый интерес представляют их картины. Во-первых, флатландские художники используют для написания картин только ASCII символы, во-вторых, все картины исключительно квадратные.
Пете захотелось приобщиться к искусству Флатландии, однако, он столкнулся с очень серьёзной проблемой. Дело в том, что все картины защищены законом об авторских правах и кодируются следующим образом: над картиной последовательно выполняются K операций. Каждая операция – одно из четырёх зеркальных отражений:

- Ось отражения – горизонтальная прямая, делящая изображение пополам. При отражении первая строка меняется местами с последней, вторая – с предпоследней и т.д.
- Ось отражения – вертикальная прямая, делящая изображение пополам. При отражении первый столбец меняется местами с последним, второй – с предпоследним и т.д.
- Ось отражения – побочная диагональ (диагональ, соединяющая правый верхний и левый нижний угол изображения). При отражении левый верхний угол меняется с правым нижним и т. д.
- Ось отражения – главная диагональ (диагональ, соединяющая левый верхний и правый нижний угол изображения). При отражении правый верхний угол меняется с левым нижним и т. д.
Из надёжных источников Пете удалось узнать, какие отражения применялись к картине. Требуется написать программу, которая поможет ему раскодировать изображение.
В первой строке входного файла находятся два натуральных числа N и K (1 ≤ N ≤ 1000, 1 ≤ K ≤ 1000000), где N – размер картины, K – число отражений, применяемых для кодирования. Во второй строке содержатся K натуральных чисел, обозначающих номера отражений (числа могут принимать только значения 1, 2, 3 или 4).
В следующих N строках описывается само закодированное изображение. В (i+2)-й строке записана i-я строка закодированной картины. В изображении используются символы с ASCII-кодами от 32 до 126 включительно.
В выходной файл требуется вывести раскодированное изображение.
Ввод | Вывод |
|
|
|
|
|
|
|
|