Es gibt ein Denkspiel namens Enumerate (das ich basierend auf Takuzu gemacht habe ). Ihre Herausforderung besteht darin, dieses Spiel zu spielen.
Aufgabe
Löse ein 4x4 Enumerate / Takuzu-Spiel.
- Erhalten Sie ein Startraster über STDIN oder Befehlszeile.
- Das gelöste Raster über STDOUT ausgeben oder in eine Datei schreiben.
Regeln
Ein Spiel zeichnet sich durch ein 4x4-Brett aus roten und violetten Zellen aus.
In jeder Zeile und Spalte muss die gleiche Anzahl roter und violetter Zellen vorhanden sein (jeweils 2 rote und 2 violette).
Es dürfen keine identischen Zeilen oder Spalten vorhanden sein.
Eingang
Die Startaufstellung wird als 16 Zeichen / Byte - Zeichenfolge gegeben werden , die nur aus 0
, 1
, und 2
. Hier ist ein Beispiel:
0001100002001200
1
repräsentiert eine rote Zelle und 2
repräsentiert eine lila Zelle. Alle Eingangskarten sind lösbar.
Hinweis: Wenn Ihre Sprache keine Zeichenfolgenliteraleingabe unterstützt , können Sie die Eingabe als Array von Ganzzahlen verwenden. Bitte geben Sie in Ihrer Antwort an, dass dies der Fall ist. Es gibt also keine Verwirrung, so sollte das Array aussehen:
[0, 0, 0, 1, 1, 0, 0, 0, 0, 2, 0, 0, 1, 2, 0, 0]
Es sind keine verschachtelten Arrays zulässig.
Ausgabe
Die gelöste Karte sollte im gleichen Format wie oben ausgegeben werden. Eine 16-Zeichen- / Byte-Zeichenfolge, die nur aus 1
und besteht 2
. Hier ist die Lösung für die obige Eingabe:
2121112222111212
Wieder 1
stellt eine rote Zelle und 2
eine lila Zelle dar.
Boni
A -25 Byte Bonus wird für jede Antwort angeboten, die gelöst Board als ASCII - Raster ausgibt. Hier ist ein Beispiel für die zuvor erwähnte Karte.
2|1|2|1
-+-+-+-
1|1|2|2
-+-+-+-
2|2|1|1
-+-+-+-
1|2|1|2
A -50 Bytes Bonus wird für jede Antwort angeboten, die gelöst Board in Farbe ausgibt. Dies kann als Bild oder farbiger Text ausgegeben werden.
Wenn farbiger Text ausgewählt ist, sollte die Ausgabe folgendermaßen aussehen:
2121
1122
2211
1212
Wenn jedoch ein Bild die gewählte Ausgabemethode ist, sollte die resultierende Datei 20 x 20 Pixel groß sein, wobei jede Zelle ein farbiger 5 x 5 Pixel-Block ist. Hier ist ein Beispiel:
Hier sind die Farbcodes:
Red - #a73cba OR (167, 60, 186)
Purple - #f94a32 OR (249, 74, 50)
Proben
In: 0020010100000100
Out: 1221212112122112
In: 0010000200121000
Out: 2211112221121221
In: 1000100102000000
Out: 1122122122112112
0
, 1
und 2
? Was ist mit einem zweidimensionalen Array?