Introdução
A Aritmética Gaol é uma instalação especial que aprisiona números inteiros positivos. No entanto, recentemente, os números inteiros positivos têm tentado escapar. Portanto, os guardas decidiram, um, eliminar alguns dos números inteiros positivos para enviar uma mensagem para os outros números inteiros. Eles contrataram um engenheiro de software para escrever um programa para descobrir quais números inteiros eliminar para obter o máximo efeito.
Descrição da entrada
A entrada é fornecida via STDIN, argumentos de linha de comando ou uma função de entrada do usuário (como raw_input
). Você não pode tê-lo como argumento de função ou variável pré-inicializada (por exemplo, este programa espera entrada em uma variável x
).
A primeira linha de entrada contém um único número inteiro positivo em n
que 8 >= n >= 3
. A seguir, são n
linhas que contêm n
caracteres do conjunto [1,2,3,4,5,6,7,8,9]
. Aqui está um exemplo de entrada:
5
22332
46351
65455
24463
65652
Descrição da saída
Os guardas gostariam de eliminar números para que as seguintes condições sejam atendidas:
- Em cada linha e coluna da grade resultante, nenhum número aparecerá duas vezes;
- Dois números eliminados não podem ser adjacentes na horizontal ou na vertical;
- Os números sobreviventes devem formar um grupo ortogonalmente contíguo - será possível viajar de qualquer número sobrevivente para qualquer outro número sobrevivente, movendo-se apenas horizontal e verticalmente e nunca cruzando nenhum número eliminado.
Saída de entrada (menos a primeira linha), com os números eliminados substituídos por #
.
Pode haver mais de uma solução. Se for esse o caso, você pode gerar qualquer solução.
Também pode não haver solução. Se for esse o caso, produza a string no answer
.
Aqui está uma saída possível para a entrada de exemplo:
#2#3#
46351
6#4#5
24#63
#56#2
Exemplo de entradas e saídas
Existem várias saídas para cada entrada, portanto, essas saídas são apenas exemplos.
Entrada:
5
46551
51565
32654
14423
43244
Saída:
46#51
#156#
326#4
1#423
#324#
Entrada:
7
7183625
1681563
5238564
8786268
1545382
3814756
5325345
Saída:
71#362#
#6815#3
5238#64
#7#62#8
154#382
3814756
#325#4#
Entrada:
8
21534768
75196287
68392184
96244853
44865912
76516647
89751326
43698979
Saída:
21#34768
#5196287
683#21#4
9#24#853
#4865912
7#51#64#
89751326
436#8#7#
Entrada:
4
2222
2331
3112
1322
Saída:
no answer
prompt
não permite a entrada de várias linhas.