Énoncé¶
Vous connaissez certainement ce jeu classique : les mots mêlés. Pour rappel, il s'agit de trouver des mots disposés horizontalement ou verticalement dans une grille remplie de lettres. Les informaticiens étant d'infatigables paresseux, il serait pratique d'avoir un programme qui fait la recherche à votre place.
Vous devez donc écrire un programme qui, étant donnée une grille de N par M cases en entrée et d'un dictionnaire de P mots, renvoie le nombre de mots trouvés dans la grille.
Contraintes¶
1 <= N, M, P <= 500
Entrée¶
- Sur la première ligne, trois entiers : N, M, P, séparés par un espace.<
- Sur les P lignes suivantes, la liste des mots à chercher dans la grille. Chaque mot contiendra entre 1 et 500 lettres capitales ASCII.<
- Sur les N lignes suivantes, la grille. Chacune des lignes de la grille est une chaîne de M lettres capitales ASCII.<
Sortie¶
Un entier, indiquant le nombre de mots du "dictionnaire" présents dans la grille.
Commentaires¶
- La grille, ainsi que les mots à chercher ne comporteront que des lettres capitales.
- Un mot qui est trouvé plusieurs fois ne doit être compté qu'une fois.
- Tous les mots de la liste sont différents.
- Chaque lettre de la grille peut être utilisée sans limitation.
- Les mots peuvent être lus dans la grille verticalement ou horizontalement, à l'endroit ou à l'envers.