Wenn Sie ein 8x8-Buchstabenraster haben, das den aktuellen Stand einer Schachpartie darstellt, besteht Ihre Aufgabe darin, einen nächsten Zug für Weiß zu finden, der zu einem Schachmatt führt (die Antwort wird immer ein Zug sein).
Eingang
Die Eingabe erfolgt in STDIN - 8 Zeilen mit jeweils 8 Zeichen. Die Bedeutungen der einzelnen Zeichen sind wie folgt:
K/k - king
Q/q - queen
B/b - bishop
N/n - knight
R/r - rook
P/p - pawn
- - empty square
Großbuchstaben stehen für weiße Teile und Kleinbuchstaben für Schwarz. Das Brett wird so ausgerichtet, dass Weiß von unten nach oben und Schwarz von oben nach unten spielt.
Ausgabe
Ein Zug für Weiß, der zu Schachmatt führt, in algebraischer Notation . Sie müssen weder notieren, wann ein Teil genommen wurde, noch müssen Sie sich Gedanken darüber machen, zwischen zwei identischen Teilen zu unterscheiden, die denselben Zug ausführen können.
Probeneingabe
Beispiel 1
Eingang:
------R-
--p-kp-p
-----n--
--PPK---
p----P-r
B-------
--------
--------
Ausgabe:
c6
Beispiel 2
Eingang:
--b-r--r
ppq-kp-p
-np-pn-B
--------
---N----
--P----P
PP---PP-
R--QRBK-
Ausgabe:
Nf5
Beispiel 3
Eingang:
---r-nr-
-pqb-p-k
pn--p-p-
R-------
--------
-P-B-N-P
-BP--PP-
---QR-K-
Ausgabe:
Rh5
Sie können davon ausgehen, dass die Lösung nicht mit Rochade oder En-Passant einhergeht.
Das ist Code-Golf - die kürzeste Lösung gewinnt.
(Beispiele aus mateinone.com - Rätsel 81, 82 und 83)