introduzione
Dopo una giornata trascorsa a bere e a guardare la coppa del mondo, ti siedi per giocare a boggle amichevole. Gli animi aumentano quando sei accusato di perdere tempo a tutti con parole senza senso che non sono nemmeno sul tabellone! Potresti vedere il doppio, ma sicuramente stai pensando abbastanza bene da scrivere un programma che verificherà che le tue parole siano sulla lavagna.
Il tuo compito
Scrivi un programma, uno script o una funzione che accetta una boggle board e una parola come input e restituisce True se la parola è sulla board e False se la parola non lo è.
L'input avrà la forma di sei \n
righe delimitate. Le prime cinque righe comprenderanno la boggle board 5x5 e conterranno ciascuna cinque lettere maiuscole. La sesta riga conterrà la parola in questione, anche in maiuscolo.
Input di esempio:
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
DAFTER
L'output può essere qualsiasi cosa che significhi inequivocabilmente True o False nel linguaggio di programmazione scelto e aderisca alle convenzioni standard di zero, null e vuoto che significa False.
Output di esempio per l'input sopra:
1
Linee guida I / O
- L'input può essere letto da stdin e rispondere a stdout.
O
- L'input può essere un singolo argomento stringa per una funzione e la risposta può essere il valore restituito di quella funzione.
Boggle Rules
- Una parola è "sul tabellone" se puoi costruirla attraverso un percorso di tessere consecutive, adiacenti, non ripetitive sul tabellone.
- Una tessera è considerata adiacente alle otto tessere che la circondano (sono consentiti percorsi diagonali). Le tessere sul bordo del tabellone sono adiacenti a sole cinque tessere. Le piastrelle nell'angolo sono adiacenti a solo tre.
- Le lettere consecutive nella parola devono essere adiacenti, la
i
lettera th nella parola deve essere adiacente ali-1
th ei+1
th. - Una lettera può apparire in una parola più di una volta, ma non è possibile utilizzare lo stesso quadrato sul tabellone più di una volta per parola.
- Il sito di boggle online wordsplay.net può essere utile se non hai mai giocato a boggle prima, ma vuoi avere un'idea di queste regole.
A differenza del normale boggle:
- NON devi preoccuparti che la parola sia una parola inglese valida.
- Non ci saranno
Qu
piastrelle singole. - La parola in questione può avere una lunghezza> 0
Esempio
Nel consiglio di
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
Queste parole dovrebbero restituire True: FATE, DATING, STANDS, LIFTS.
Queste parole dovrebbero restituire False: SADDEN, SULTANS, EXIST, SUEDE, QUEST
Questa è una sfida di code-golf, quindi vince il codice più corto!