INTERLUDE

(absolute mode)

👨🏼‍💻 écris un fichier de cas de tests pour un programme qui résoudrait le problème suivant :

Le solitaire est un jeu de plateau unidimensionnel pour un seul joueur. Le plateau est composé de cases disposées en ligne droite, dont certaines sont initialement occupées par des pions. Le joueur effectue un mouvement en faisant sauter un pion par-dessus un autre pion situé sur une case adjacente, pour atteindre une case vide située deux cases à droite ou à gauche de sa position initiale. Le pion sauté est retiré immédiatement après le mouvement.

La partie est considérée comme gagnée si exactement un pion reste sur le plateau, et comme perdue si le joueur ne peut plus effectuer de mouvement.

Étant donné l’état initial du plateau, le programme doit déterminer s’il est possible pour le joueur de gagner la partie.

Entrée :

L’entrée commence par l’entier t, le nombre de cas de test. Ensuite, t cas de test suivent.

Chaque cas de test commence par un entier positif n ≤ 32000, représentant la taille du plateau. La deuxième et dernière ligne de la description du cas de test contient une séquence de n caractères 0 ou 1, sans espaces. La i-ème case du plateau est occupée par un pion au début de la partie si et seulement si le i-ème caractère de cette séquence est un 1.

Sortie :

Pour chaque cas de test, afficher le mot “yes” s’il est possible pour le joueur de gagner la partie à partir de la configuration initiale, ou le mot “no” dans le cas contraire.

Exemple

Entrée :

2
7
0110011
6
111001

Sortie :

yes
no

🤖 Voici un fichier de cas de tests couvrant divers scénarios pertinents pour le problème du solitaire unidimensionnel :

 10
 3
 110
 3
 011
 3
 101
 4
 1101
 4
 0011
 5
 11111
 7
 0110011
 6
 111001
 1
 1
 2
 11
 2
 01

Explication des cas :

110 → Gagnable (le pion en 0 saute celui en 1, atterrit en 2) → 001
011 → Gagnable (le pion en 2 saute celui en 1, atterrit en 0) → 101, puis non-gagnable
101 → Non gagnable (aucun saut possible)
1101 → Non gagnable (sauts possibles mais fin à deux pions sans mouvement)
0011 → Non gagnable (le saut mène à 0100, blocage)
11111 → Gagnable (plusieurs séquences mènent à un seul pion)
0110011 → Gagnable (exemple fourni)
111001 → Non gagnable (exemple fourni)
1 → Gagnable (déjà à un seul pion)
11 → Gagnable (11 → 001)
01 → Non gagnable (aucun saut possible)

Chaque ligne de résultat doit être soit yes soit no dans l’ordre correspondant.

👨🏼‍💻 indique sur chaque ligne : le plateau un espace et yes ou bien no

🤖

110 yes
011 yes
101 no
1101 no
0011 no
11111 yes
0110011 yes
111001 no
1 yes
11 yes
01 no

interlude-ai-solitaire

Publié sur LinkedIn le 04/05/2025