Einführung
Arithmetisches Gefängnis ist eine spezielle Einrichtung, die positive ganze Zahlen einkerkert. In letzter Zeit haben die positiven ganzen Zahlen jedoch versucht, zu entkommen. Aus diesem Grund haben die Wächter beschlossen, einige der positiven Ganzzahlen zu eliminieren , um eine Nachricht an die anderen Ganzzahlen zu senden. Sie haben einen Softwareentwickler beauftragt, ein Programm zu schreiben, um herauszufinden, welche ganzen Zahlen für eine maximale Wirkung zu eliminieren sind.
Eingabebeschreibung
Die Eingabe erfolgt über STDIN, Befehlszeilenargumente oder eine Benutzereingabefunktion (z. B. raw_input
). Sie können es nicht als Funktionsargument oder vorinitialisierte Variable haben (z. B. erwartet dieses Programm die Eingabe in eine Variable x
).
Die erste Eingabezeile enthält eine einzelne positive Ganzzahl, n
wobei 8 >= n >= 3
. Daran schließen sich n
Zeilen mit n
Zeichen aus der Menge an [1,2,3,4,5,6,7,8,9]
. Hier ist eine Beispieleingabe:
5
22332
46351
65455
24463
65652
Ausgabebeschreibung
Die Wärter möchten Zahlen streichen, damit die folgenden Bedingungen erfüllt sind:
- In jeder Zeile und Spalte des resultierenden Gitters wird keine Nummer zweimal angezeigt.
- Es dürfen keine zwei eliminierten Zahlen horizontal oder vertikal benachbart sein.
- Die überlebenden Zahlen müssen eine orthogonal zusammenhängende Gruppe bilden - es wird möglich sein, von jeder überlebenden Zahl zu jeder anderen überlebenden Zahl zu gelangen, die sich nur horizontal und vertikal bewegt und niemals eine eliminierte Zahl kreuzt.
Geben Sie die Eingabe aus (minus der ersten Zeile), wobei die eliminierten Zahlen durch ersetzt werden #
.
Es kann mehr als eine Lösung geben. In diesem Fall können Sie eine beliebige Lösung ausgeben.
Möglicherweise gibt es auch keine Lösung. Wenn dies der Fall ist, geben Sie die Zeichenfolge aus no answer
.
Hier ist eine mögliche Ausgabe für die Beispieleingabe:
#2#3#
46351
6#4#5
24#63
#56#2
Beispiel Ein- und Ausgänge
Für jeden Eingang gibt es mehrere Ausgänge. Diese Ausgänge sind also nur Beispiele.
Eingang:
5
46551
51565
32654
14423
43244
Ausgabe:
46#51
#156#
326#4
1#423
#324#
Eingang:
7
7183625
1681563
5238564
8786268
1545382
3814756
5325345
Ausgabe:
71#362#
#6815#3
5238#64
#7#62#8
154#382
3814756
#325#4#
Eingang:
8
21534768
75196287
68392184
96244853
44865912
76516647
89751326
43698979
Ausgabe:
21#34768
#5196287
683#21#4
9#24#853
#4865912
7#51#64#
89751326
436#8#7#
Eingang:
4
2222
2331
3112
1322
Ausgabe:
no answer
prompt
keine mehrzeilige Eingabe zulässt.