0h n0 ist ein sehr einfaches und unterhaltsames Spiel, ähnlich wie Sudoku oder Minensuchboot.
Spielregeln
(Ich empfehle die Verwendung des Tutorials im Spiel, wenn Sie können, es ist sehr einfach und nützlich)
Das Puzzle beginnt mit einer n * n
Tafel, die einige feste Teile und einige leere Zellen enthält, und der Löser muss einen Weg finden, um die leeren Zellen mit Teilen zu füllen und alle durch die festen Teile auferlegten Einschränkungen zu erfüllen. Hier sind die Stückarten, die wir mit der Abkürzung verwenden werden:
#
Rotes Stück (Blockansicht eines blauen Stückes)O
Blaues Stück.
Leerer Standortnumber
Nummeriertes blaues Stück (number
ist eine einstellige Zahl> 0)
Alle nummerierten Teile müssen genauso viele blaue Teile enthalten wie die Zahl. Beispielsweise:
#1O#O
...O.
Das 1
Stück kann nur ein anderes blaues Stück sehen.
Wie Stücke sich sehen
Zwei blaue Teile können sich sehen, wenn sie sich in derselben Zeile oder Spalte befinden und sich kein rotes Teil dazwischen befindet. Beispiel:
( S
ist ein Ort, den das O
Stück sehen X
kann, nicht gesehen werden kann)
S
S
X#SOSS
#
X
Jedes blaue Stück muss mindestens ein anderes blaues Stück sehen:
#O#
Wird nicht funktionieren, aber:
#OO
Oder:
###
Arbeite.
Demoboard lösen
.1..
..1.
....
22#2
Der rechte untere Teil 2 kann nur über sich selbst sehen, daher müssen sie blau und der obere rechte Teil rot sein.
.1.#
..1O
...O
22#2
Da das 1
gefüllt ist, können wir es mit roten Stücken umgeben.
.1##
.#1O
..#O
22#2
Die obere linke Seite 1
kann jetzt nur in eine Richtung sehen, sodass wir sie ausfüllen können.
O1##
.#1O
..#O
22#2
Nun zu den letzten 2
s. Wir können 2 blaue Teile darüber legen.
O1##
.#1O
OO#O
22#2
Der letzte wird mit gefüllt #
O1##
##1O
OO#O
22#2
Eingang
Die Eingabe ist eine mehrzeilige Zeichenfolge. Die Größe wird 9x9
ohne Leerzeichen angegeben. Es hat die folgenden Stückarten:
.
Leeren#
Voreinstellung rot, kann nicht geändert werdennumber
Voreinstellungsnummer, kann nicht geändert werden
(Beachten Sie, dass Blau niemals in der Eingabe enthalten sein wird.)
Ausgabe
Die Ausgabe ist die gleiche wie die Eingabe, mit der Änderung, dass empty ( .
) entweder durch ein rotes oder ein blaues ersetzt wird, um die Karte zu lösen, und die Zahlen durch blaue Teile ( O
) ersetzt werden.
Beispiele
(Beachten Sie, dass für jedes Puzzle mehrere Lösungen möglich sind, Sie jedoch nur eine davon anzeigen müssen.)
Input:
........4
...3.1...
45...2.3.
..9......
1..6#44..
....4..5.
....4.36.
2.......6
1....4...
Output:
OOO###OOO
OOOO#O#OO
OOO#OO#OO
#OOOO#O##
O#OO#OOOO
O#OOOO#OO
#OOOO#OOO
OO#O#OOOO
O#OOOO#O#
Input:
..7..#...
#...8..11
2....5...
..5...48.
...#...4.
.5...6...
...1.2...
2.....6.8
.7..#....
Output:
OOOOO####
##OOOO#OO
O#OOOO###
OOO#OOOOO
OO##O##O#
#O##OOOOO
#O#O#O#OO
OO#OOOOOO
OOO###O#O
Input:
5.3..33..
...4...23
.6.6.34..
...3#....
....5..4.
.5....3..
7.98.6#.3
.5.6..2..
..6...2..
Output:
OOOOO####
##OOOO#OO
O#OOOO###
OOO#OOOOO
OO##O##O#
#O##OOOOO
#O#O#O#OO
OO#OOOOOO
OOO###O#O
Vielen Dank an @PeterTaylor und @apsillers für all ihre Hilfe im Sandkasten!