April 1 contest |
Start: Apr.01.2026 at 09:00:00 AM
Finish: Apr.01.2026 at 09:00:00 PM
The contest is finished!
• Contest scoreboard
|
Feedback | | If you notice incorrect translations in Contester, please let author know.
|
|
Time limit 2000/4000/4000/4000 ms. Memory limit 65000/65000/65000/65000 Kb.
hash
Шпион-стажёр Бякин получил от резидента Букина задание: для ведения секретной переписки изготовить комплект решёток Кардано, квадратных, без мусора.
— Чё? — спросил дремучий Бякин.
— Погугли, — ответил немногословный Букин.
Бякин погуглил. Без труда нашёл статью в Википедии, где было и про
решётку, и про квадратную решётку с четырьмя положениями, и про
шифрование без мусора. Прочитал. Что-то запомнил, что-то забыл.
Сделал несколько решёток на пробу. Принёс Букину.
— Бракованная, - сказал Букин, повертев в руках первую решётку. —
Смотри: вот положил я её на бумагу, вписал буквы в дырочки.
Повернул по часовой стрелке на 90 градусов, положил на ту же бумагу,
хочу дальше вписывать текст - а не могу: в одной дырочке буква
уже есть. Эта тоже бракованная: не все клетки бумаги будут
использованы, придётся мусор добавлять. Эта вроде нормальная.
Эта - брак...
Вам предстоит разработать программу для проверки корректности
решётки Кардано. Решётка считается корректной, если при вписывании
в неё букв в четырёх положениях решётки во всех клетках поля будет
по одному символу, без наложений и пустот.
Входные данные. В первой строке натуральное число N (не больше 50) - сторона квадратной решётки. Далее следуют N строк из символов 0 и 1, единицы обозначают вырезанные клетки.
Выходные данные. YES, если решётка пригодна для шифрования, NO в противном случае.
Пример. При вводе следующих данных
4
1000
1011
0000
0000
программа должна вывести YES - решётка пригодна для шифрования. Пример шифрования на рисунке.

А вот если убрать или добавить единичку, решётка станет бракованной.
Выведется NO и при таких входных данных
4
1000
1010
0000
0001
Почему? А поэкспериментируйте сами.
Для отправки решений необходимо выполнить вход.
|