Solitaire – Épreuve régionale 2003

Niveau 3

Énoncé

On vous donne en paramètre un tableau d'entiers, à deux dimensions ($7 \times 7$), décrivant une position au jeu du solitaire. Chaque case du tableau peut contenir 3 valeurs possibles :

  • 0 : la case est vide.
  • 1 : la case contient une bille.
  • 2 : la case est en dehors du jeu.

Le plateau a toujours la forme suivante, les 0 représentant les cases qui peuvent rester vide, ou contenir une bille.

1
2
3
4
5
6
7
2200022
2200022
0000000
0000000
0000000
2200022
2200022

Vous devez écrire une fonction qui détermine combien il existe de coups différents possibles, pour le prochain coup.

Un coup consiste à faire sauter horizontalement ou verticalement une bille par dessus une autre, adjacente, pour arriver sur une case vide se situant juste derrière la bille par dessus laquelle on a sauté.

Entrée

Vous devez lire 7 lignes sur l'entrée. Chaque ligne contient 7 chiffres, parmi 0, 1, ou 2, sans espace, représentant le contenu du plateau.

Sortie

Vous devez écrire une ligne sur la sortie :

  • Le nombre de coups différents possibles.

Contraintes d'exécution

Utilisation mémoire maximum
1000 kilo-octets
Temps d'exécution maximum
250 millisecondes

Exemples d'entrée/sortie

Exemple d'entrée
2201122
2200122
0011010
0100000
0010110
2200022
2201122
Exemple de sortie
7