Herausforderung:
Geben Sie bei einem Schachbrett die kleinste Anzahl von Zügen aus, die erforderlich sind (vorausgesetzt, Schwarz bewegt sich überhaupt nicht), um nach Möglichkeit ein rotes Stück zu erhalten.
Regeln :
Die rote Seite wird immer unten sein, ihre Figuren können jedoch in einer beliebigen Reihe beginnen (sogar in der Königsreihe, zu der sie gelangen müssen). Schwarze Steine sind stationär , das heißt, sie bewegen sich nicht zwischen den Bewegungen von Rot, sondern werden vom Spielfeld entfernt, wenn sie gefangen werden. Beachte, dass die Steine auf jedem Feld des Spielfelds beginnen können, auch direkt nebeneinander. Dies ist nicht die Art und Weise, wie normale Checker gespielt werden, aber Ihr Programm muss in der Lage sein, diese zu lösen. (Siehe Eingabe 5) Steine dürfen sich jedoch nur diagonal bewegen (siehe Eingabe 3). Rückwärtserfassung ist zulässig, wenn sich die erste Erfassung in der Kette vorwärts befindet (siehe Eingabe 7).
Eingang:
Ein 8x8-Schachbrett, bei dem die Platinenabstände wie folgt definiert sind (Sie können auch Alternativen verwenden, sofern diese übereinstimmen):
. - Leer
R - Rotes Stück
B - Schwarzes Stück
Ausgabe:
Die kleinste Anzahl von Zügen, für die ein rotes Steinchen benötigt wird, um durch Betreten der Königsreihe in der obersten Reihe des Bretts (schwarze Seite) "König" zu werden, 0, wenn keine Züge erforderlich sind (ein rotes Steinchen beginnt in der Königsreihe), oder eine negative Zahl, wenn es nicht möglich ist, ein rotes Stück zu bestimmen (dh Schwarz belegt die gesamte erste Reihe).
Eingang 1:
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Ausgang 1:
7
Eingang 2:
. . . . . . . .
. . . . . . . .
. . . . . B . .
. . . . . . . .
. . . B . . . .
. . . . . . . .
. B . . . . . .
R . . . . . . .
Ausgang 2:
2
Eingang 3:
. B . B . B . B
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Ausgang 3:
-1
Eingang 4:
. . . . . . . R
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
R . . . . . . .
Ausgang 4:
0
Eingang 5:
. . . . . . . .
. . . . . . . .
. . . . . . . .
. B . . B . . .
B . . . . B . .
. B . B . . . .
. . B . . B . .
. . . R R . . .
Ausgang 5:
4
Eingang 6:
. . . . . . . .
. . . . . . . .
. B . . . . . .
. . B . . . . .
. B . B . . . .
. . . . R . . .
. . . B . . . .
. . . . R . . .
Ausgang 6:
2
Eingang 7:
. . . . . . . .
. . . . . . . .
. . B . . . . .
. . . . . . . .
. . B . . . . .
. B . B . B . .
. . . . B . . .
. . . . . R . R
Ausgang 7:
4
Wertung:
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes.