Vous devez écrire un programme ou une fonction qui reçoit une chaîne représentant un échiquier avec uniquement des pions en entrée et en sortie ou renvoie si une capture est possible sur le tableau.
L'entrée est dans une notation de type FEN décrivant les positions des pions blancs et noirs sans autres pièces présentes. Vous devez décider s'il existe un pion qui peut capturer un ennemi.
Chaque rang est décrit, commençant par le rang 8 et se terminant par le rang 1; à l'intérieur de chaque rang, le contenu de chaque carré est décrit du fichier "a" au fichier "h". Chaque pion est identifié par une seule lettre (pion blanc = "P", pion noir = "p",). Les carrés vides sont notés en utilisant les chiffres 1 à 8 (le nombre de carrés vides), et "/" sépare les rangs. (partiellement extrait de Wikipedia)
Par exemple
8/pppppppp/8/8/4P3/8/PPPP1PPP/8
décrit le tableau
--------
pppppppp
P
PPPP PPP
--------
Un pion blanc peut capturer un noir si le noir est positionné en diagonale vers le haut (le noir est en haut à gauche ou en haut à droite) et un pion noir peut capturer un blanc si le blanc est en diagonale en dessous de lui (le blanc est en bas à gauche ou en bas à droite). Aucun autre mouvement de capture ( en passant ) ne doit être envisagé.
Contribution
- Une chaîne de type FEN composée des caractères
12345678pP/
. - L'entrée décrit les pions d'une position de jeu d'échecs valide. Cela signifie (entre autres contraintes plus complexes) qu'il y aura au plus 8 pions pour chaque côté et aucun pion aux rangs 1 et 8.
Production
- S'il y a une capture possible pour l'un ou l'autre côté, vous devez sortir une valeur véridique et une valeur fausse sinon.
Exemples
Entrées avec sortie véridique (une par ligne)
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
Entrées avec sortie falsifiée (une par ligne)
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
C'est le golf de code, donc l'entrée la plus courte gagne.
7P
cela signifierait que le pion est sur le dernier, 8ème fichier. (Le diagramme était cependant incorrect, j'ai corrigé cela.)
8/pppppppp/8/8/8/7P/PPPP1PPP/8
?