Республиканская олимпиада по информатике, 2012 год, 9 класс
(Кардано)
Решетка Кардано — инструмент шифрования, представляющий собой специальную квадратную таблицу-карточку размера N×N, часть ячеек которой вырезана. Длина сообщения, которое нужно зашифровать, должна быть равна N2 символов. Решетка Кардано накладывается на бумагу и сообщение выписывается по одному символу в вырезанную ячейку. Когда вырезанные ячейки окажутся заполнены решетка поворачивается па 90 градусов по часовой стрелке и процесс продолжается. Так повторяется еще 2 раза.
Назовем решетку «правильной», если при шифровании ни один символ не наложится на другой и «неправильной» в противном случае. Назовем «правильную» решетку «хорошей», если все N2 символов исходного сообщения будут записаны, и «плохой» — в противном случае.
Для заданных решеток, определите, правильные ли они, а для правильных — хорошие или плохие.
посмотреть в олимпиаде
Ограничение по времени:
2 секунды
Ограничение по памяти:
64 мегабайта
Решетка Кардано — инструмент шифрования, представляющий собой специальную квадратную таблицу-карточку размера N×N, часть ячеек которой вырезана. Длина сообщения, которое нужно зашифровать, должна быть равна N2 символов. Решетка Кардано накладывается на бумагу и сообщение выписывается по одному символу в вырезанную ячейку. Когда вырезанные ячейки окажутся заполнены решетка поворачивается па 90 градусов по часовой стрелке и процесс продолжается. Так повторяется еще 2 раза.
Назовем решетку «правильной», если при шифровании ни один символ не наложится на другой и «неправильной» в противном случае. Назовем «правильную» решетку «хорошей», если все N2 символов исходного сообщения будут записаны, и «плохой» — в противном случае.
Для заданных решеток, определите, правильные ли они, а для правильных — хорошие или плохие.
Формат входного файла
Первая строка входного файла содержит одно целое число K (1≤K≤10) — количество решеток для проверки. Затем следует описание K решеток. Описание каждой решетки начинается со строки, содержащей целое число N (1≤N≤100) — размер решетки. Затем следует N строк, содержащих N символов каждая. Символ «*» означает невырезанную часть решетки, «.» — вырезанную.
Формат выходного файла
Выходной файл должен содержать K строк — по одной для каждой таблицы. Если соответствующая решетка неправильная, выведите «INCORRECT», если плохая — «BAD», если хорошая — «GOOD».
Примеры:
Вход 3 2 .* *. 4 .*** **** **.* **** 4 **.* *.** **** .*.*Ответ
INCORRECT BAD GOOD
Комментарий/решение:
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.