Diese Herausforderung ist von dieser App inspiriert .
Dies ist eine viel einfachere Version dieser Herausforderung . Diese Herausforderung ist Code-Golf , während die andere der schnellste Code ist .
Sie erhalten ein quadratisches Eingaberaster mit den Abmessungen 6 x 6, das in 6 Bereiche unterteilt ist, in denen die Zellen jedes Bereichs eine eindeutige Kennung haben (ich werde hier im Text Kleinbuchstaben von af verwenden). Sie können jedoch wählen, was Sie möchten, z. B. Ganzzahlen 1-6 ).
Die Eingabe kann folgendermaßen aussehen (optionales Eingabeformat):
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
Oder einfacher zu visualisieren:
Herausforderung:
Sie müssen 6 Bäume in diesem Park nach den folgenden Regeln platzieren:
- Es soll genau 1 Baum pro Spalte und 1 Baum pro Zeile geben
- Alle Bereiche müssen genau 1 Baum haben.
- Kein Baum darf vertikal, horizontal oder diagonal an einen anderen Baum angrenzen
Die Lösung für das obige Layout lautet:
Hinweis: Für jedes Rätsel gibt es nur eine Lösung
Zusätzliche Regeln:
- Die Eingabe- und Ausgabeformate sind optional
- Die Ausgabe kann beispielsweise eine Liste von Indizes, ein Raster mit 1/0 sein, das angibt, ob sich an dieser Position ein Baum befindet, oder eine modifizierte Version der Eingabe, in der die Bäume angezeigt werden
- Die Ausführungszeit muss deterministisch sein
- Das Programm muss auf einem vernünftigen modernen Laptop innerhalb von 1 Minute beendet sein
- Brownie zeigt, wenn Sie keine rohe Gewalt anwenden!
Testfälle:
aabbbb
aabbbb
aaccbb
acccdb
ecccdb
eeefff
---
aAbbbb
aabbbB
aaCcbb
acccDb
Ecccdb
eeeFff
----------
aabccc
aacccc
aaddce
aeeeee
aeeefe
eeeeee
---
aaBccc
aacccC
aadDce
Aeeeee
aeeeFe
eEeeee
----------
aaaabb
aacbbb
aadddb
addeef
ddddee
dddeee
---
aaaaBb
aaCbbb
Aadddb
addeeF
dDddee
dddEee
----------
abbbcd
abebcd
addddd
dddddd
effdff
eeffff
---
abBbcd
abebCd
Addddd
dddDdd
effdfF
eEffff
Gleiche Testfälle in einem Format, das etwas einfacher zu analysieren ist:
Test case 1:
[1,1,2,2,2,2;1,1,2,2,2,2;1,1,3,3,2,2;1,3,3,3,4,2;5,3,3,3,4,2;5,5,5,6,6,6]
Test case 2:
[1,1,2,3,3,3;1,1,3,3,3,3;1,1,4,4,3,5;1,5,5,5,5,5;1,5,5,5,6,5;5,5,5,5,5,5]
Test case 3:
[1,1,1,1,2,2;1,1,3,2,2,2;1,1,4,4,4,2;1,4,4,5,5,6;4,4,4,4,5,5;4,4,4,5,5,5]
Test case 4:
[1,2,2,2,3,4;1,2,5,2,3,4;1,4,4,4,4,4;4,4,4,4,4,4;5,6,6,4,6,6;5,5,6,6,6,6]