Sie sollten ein Programm oder eine Funktion schreiben, die eine Zeichenfolge empfängt, die ein Schachbrett mit nur Bauern als Eingabe und Ausgabe darstellt, oder zurückgibt, ob eine Erfassung auf dem Brett möglich ist.
Die Eingabe erfolgt in einer FEN- ähnlichen Notation, in der Positionen von weißen und schwarzen Bauern ohne andere Teile beschrieben werden. Sie sollten entscheiden, ob es einen Bauern gibt, der einen Feind erobern kann.
Jeder Rang wird beschrieben, beginnend mit Rang 8 und endend mit Rang 1; Innerhalb jedes Ranges wird der Inhalt jedes Quadrats von Datei "a" bis Datei "h" beschrieben. Jeder Bauer wird durch einen einzelnen Buchstaben identifiziert (weißer Bauer = "P", schwarzer Bauer = "p",). Leere Quadrate werden mit den Ziffern 1 bis 8 (der Anzahl der leeren Quadrate) angegeben und durch "/" voneinander getrennt. (teilweise aus Wikipedia entnommen)
Beispielsweise
8/pppppppp/8/8/4P3/8/PPPP1PPP/8
beschreibt die Tafel
--------
pppppppp
P
PPPP PPP
--------
Ein weißer Bauer kann einen schwarzen Bauern fangen, wenn der schwarze diagonal darüber liegt (schwarz ist oben links oder oben rechts), und ein schwarzer Bauer kann einen weißen Bauern fangen, wenn der weiße diagonal darunter liegt (weiß ist) unten links oder unten rechts). Kein anderer Einnahme-Zug ( en passant ) sollte in Betracht gezogen werden.
Eingang
- Eine FEN- ähnliche Zeichenfolge, die aus den Zeichen besteht
12345678pP/
. - Die Eingabe beschreibt die Bauern einer gültigen Schachspielposition. Dies bedeutet (unter anderen komplexeren Einschränkungen), dass es höchstens 8 Bauern für jede Seite gibt und keine Bauern auf den Rängen 1 und 8.
Ausgabe
- Wenn es für beide Seiten eine mögliche Erfassung gibt, sollten Sie andernfalls einen Wahrheitswert und einen falschen Wert ausgeben .
Beispiele
Eingänge mit wahrheitsgemäßer Ausgabe (einer pro Zeile)
8/7p/6P1/8/8/8/8/8
8/8/p7/1P6/3P3p/8/8/8
8/2P5/8/4P1p1/2p2P2/3p4/3p1P2/8
8/P7/8/5P2/2pp4/3P2p1/3pP3/8
8/P7/p7/p1P1P3/1P3p2/8/1p6/8
8/4p1P1/2P2P1P/2p1pPpp/8/6P1/pP1p4/8
Eingänge mit falschem Ausgang (einer pro Zeile)
8/8/8/8/8/8/8/8
8/7P/6p1/8/8/8/8/8
8/7p/7P/8/8/8/8/8
8/pppppppp/8/8/8/8/PPPPPPPP/8
8/p7/8/1p6/5P2/8/8/8
8/p7/P7/2P1p1p1/2p5/8/PP6/8
Dies ist Code Golf, also gewinnt der kürzeste Einstieg.
7P
der Bauer befindet sich in der letzten, achten Datei. (Das Diagramm war zwar falsch, ich habe das korrigiert.)
8/pppppppp/8/8/8/7P/PPPP1PPP/8
?