Вступление
Арифметическая тюрьма - это специальное средство, которое заключает в себе положительные целые числа. Однако в последнее время положительные целые числа пытались убежать. Поэтому надзиратели решили убрать некоторые положительные целые числа, чтобы отправить сообщение другим целым числам. Они наняли разработчика программного обеспечения для написания программы, чтобы выяснить, какие целые числа исключить для достижения максимального эффекта.
Описание входа
Ввод осуществляется через STDIN, аргументы командной строки или пользовательскую функцию ввода (например, raw_input
). Вы не можете иметь его в качестве аргумента функции или предварительно инициализированной переменной (например, эта программа ожидает ввода в переменную x
).
Первая строка содержит одно положительное целое число, n
где 8 >= n >= 3
. Далее следуют n
строки, содержащие n
символы из набора [1,2,3,4,5,6,7,8,9]
. Вот пример ввода:
5
22332
46351
65455
24463
65652
Описание выхода
Надзиратели хотели бы убрать числа, чтобы выполнялись следующие условия:
- В каждой строке и столбце результирующей сетки ни одно число не появится дважды;
- Два исключенных числа не могут быть смежными по горизонтали или вертикали;
- Выжившие числа должны образовывать ортогонально смежную группу - можно будет перейти от любого уцелевшего числа к любому другому уцелевшему числу, двигаясь только по горизонтали и вертикали и никогда не пересекая ни одно из удаленных чисел.
Выведите ввод (минус первая строка) с заменой удаленных чисел на #
.
Там может быть более одного решения. Если это так, вы можете вывести любое решение.
Там также может быть никакого решения. Если это так, выведите строку no answer
.
Вот возможный вывод для примера ввода:
#2#3#
46351
6#4#5
24#63
#56#2
Пример входов и выходов
Есть несколько выходов для каждого входа, поэтому эти выходы являются лишь примерами.
Входные данные:
5
46551
51565
32654
14423
43244
Выход:
46#51
#156#
326#4
1#423
#324#
Входные данные:
7
7183625
1681563
5238564
8786268
1545382
3814756
5325345
Выход:
71#362#
#6815#3
5238#64
#7#62#8
154#382
3814756
#325#4#
Входные данные:
8
21534768
75196287
68392184
96244853
44865912
76516647
89751326
43698979
Выход:
21#34768
#5196287
683#21#4
9#24#853
#4865912
7#51#64#
89751326
436#8#7#
Входные данные:
4
2222
2331
3112
1322
Выход:
no answer
prompt
не допускает многострочный ввод.