introduction
Après une journée de beuverie et de regarder la coupe du monde, vous vous asseyez pour jouer à un jeu amical de boggle. Les esprits augmentent parce que vous êtes accusé de perdre tout le temps de tout le monde avec des mots absurdes qui ne figurent même pas sur le tableau! Vous voyez peut-être double, mais vous pensez sûrement assez pour écrire un programme qui permettra de vérifier que vos mots sont bien au tableau.
Ta tâche
Ecrivez un programme, un script ou une fonction qui utilise un tableau erroné et un mot en entrée et renvoie Vrai si le mot est sur le tableau et Faux si le mot ne l’est pas.
L'entrée se présentera sous la forme de six \n
lignes délimitées. Les cinq premières lignes comprendront le tableau 5x5 et contiendront chacune cinq lettres majuscules. La sixième ligne contiendra le mot en question, également en toutes lettres majuscules.
Exemple de saisie:
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
DAFTER
La sortie peut être tout ce qui signifie sans ambiguïté Vrai ou Faux dans le langage de programmation de votre choix et qui respecte les conventions standard zéro, null et vide qui signifie Faux.
Exemple de sortie pour l'entrée ci-dessus:
1
Directives I / O
- L'entrée peut être lue à partir de stdin et la réponse à stdout.
Ou
- L'entrée peut être un argument de chaîne unique à une fonction et answer à la valeur de retour de cette fonction.
Règles Boggle
- Un mot est «sur le tableau» si vous pouvez le construire via un chemin composé de tuiles consécutives, adjacentes et non répétitives.
- Une tuile est considérée comme adjacente aux huit tuiles qui l’entourent (les chemins diagonaux sont autorisés). Les tuiles sur le bord du plateau sont adjacentes à seulement cinq tuiles. Les tuiles dans le coin sont adjacentes à seulement trois.
- Les lettres consécutives du mot doivent être adjacentes, la
i
th lettre du mot doit être adjacentes auxi-1
th eti+1
th. - Une lettre peut apparaître dans un mot plus d'une fois, mais vous ne pouvez pas utiliser le même carré sur le tableau d'affichage plus d'une fois par mot.
- Le site boggle en ligne wordsplay.net peut être utile si vous n'avez jamais joué au boggle auparavant, mais souhaitez avoir une idée de ces règles.
Contrairement à l'étranglement normal:
- Vous n'avez PAS à vous inquiéter du fait que le mot soit un mot anglais valide.
- Il n'y aura pas de
Qu
tuile simple. - Le mot en question peut avoir n'importe quelle longueur> 0
Exemple
Au conseil de
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
Ces mots doivent renvoyer True: FATE, DATING, STANDS, LIFTS.
Ces mots doivent renvoyer False: SADDEN, SULTANS, EXIST, SUEDE, QUEST
Ceci est un défi de code-golf, donc le code le plus court gagne!