Introducción
Después de un día de beber y ver la copa del mundo, te sientas a jugar un juego amistoso de boggle. Los ánimos aumentan cuando se le acusa de perder el tiempo de todos con palabras sin sentido que ni siquiera están en el tablero. Es posible que esté viendo el doble, pero seguramente está pensando lo suficiente como para escribir un programa que verifique que sus palabras estén en la pizarra.
Tu tarea
Escriba un programa, secuencia de comandos o función que tome una pizarra y una palabra como entrada, y devuelva True si la palabra está en la pizarra y False si la palabra no lo está.
La entrada tendrá la forma de seis \n
líneas delimitadas. Las primeras cinco líneas comprenderán el tablero de boggle 5x5 y cada una contendrá cinco letras mayúsculas. La sexta línea contendrá la palabra en cuestión, también en mayúsculas.
Entrada de muestra:
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
DAFTER
La salida puede ser cualquier cosa que signifique inequívocamente Verdadero o Falso en el lenguaje de programación de su elección y se adhiera a las convenciones estándar de cero, nulo y vacío que significa Falso.
Salida de muestra para la entrada anterior:
1
Pautas de E / S
- La entrada puede leerse desde stdin, y responder la salida a stdout.
O
- La entrada puede ser un argumento de cadena única para una función, y la respuesta será el valor de retorno de esa función.
Reglas de Boggle
- Una palabra está 'en el tablero' si puede construir la palabra a través de una ruta de mosaicos consecutivos, adyacentes y no repetitivos en el tablero.
- Un mosaico se considera adyacente a los ocho mosaicos que lo rodean (se permiten caminos diagonales). Las fichas en el borde del tablero son adyacentes a solo cinco fichas. Los azulejos en la esquina son adyacentes a solo tres.
- Las letras consecutivas en la palabra deben ser adyacentes, la
i
letra th en la palabra debe ser adyacente a lai-1
th yi+1
th. - Una letra puede aparecer en una palabra más de una vez, pero no puede usar el mismo cuadrado en el tablero de boggle más de una vez por palabra.
- El sitio en línea de boggle wordsplay.net puede ser útil si nunca antes ha jugado a boggle, pero quiere tener una idea de estas reglas.
A diferencia del boggle regular:
- NO tiene que preocuparse de que la palabra sea una palabra válida en inglés.
- No habrá un
Qu
solo mosaico. - La palabra en cuestión puede tener cualquier longitud> 0
Ejemplo
En el tablero de
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
Estas palabras deben devolver True: FATE, DATING, STANDS, LIFTS.
Estas palabras deberían devolver False: SADDEN, SULTANS, EXIST, SUEDE, QUEST
Este es un desafío de código de golf, por lo que gana el código más corto.