Introdução
Depois de um dia bebendo e assistindo a copa do mundo, você se senta para jogar amistoso. O temperamento aumenta quando você é acusado de desperdiçar o tempo de todos com palavras sem sentido que nem estão no quadro! Você pode estar vendo o dobro, mas certamente está pensando o suficiente para escrever um programa que verifique se suas palavras estão no quadro.
Sua tarefa
Escreva um programa, script ou função que use uma placa de boggle e uma palavra como entrada e retorne True se a palavra estiver no quadro e False se a palavra não estiver.
A entrada será na forma de seis \n
linhas delimitadas. As cinco primeiras linhas compreenderão o tabuleiro 5x5 e cada uma conterá cinco letras maiúsculas. A sexta linha conterá a palavra em questão, também em letras maiúsculas.
Entrada de amostra:
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
DAFTER
A saída pode ser qualquer coisa que signifique inequivocamente Verdadeiro ou Falso na sua linguagem de programação preferida e adira às convenções padrão de zero, nulo e vazio, significando Falso.
Saída de amostra para a entrada acima:
1
Diretrizes de E / S
- A entrada pode ser lida em stdin e responder a saída em stdout.
Ou
- A entrada pode ser um argumento de cadeia única para uma função e resposta é o valor de retorno dessa função.
Regras do Boggle
- Uma palavra está 'no quadro' se você puder construí-la por um caminho de blocos consecutivos, adjacentes e não repetitivos no quadro.
- Um bloco é considerado adjacente aos oito blocos que o cercam (caminhos diagonais são permitidos). As peças na borda do tabuleiro são adjacentes a apenas cinco peças. As telhas no canto são adjacentes a apenas três.
- As letras consecutivas na palavra devem ser adjacentes, a
i
th letra na palavra deve ser adjacente ài-1
th ei+1
th. - Uma letra pode aparecer em uma palavra mais de uma vez, mas você não pode usar o mesmo quadrado no painel de boggle mais de uma vez por palavra.
- O site online de boggle wordsplay.net pode ser útil se você nunca jogou boggle antes, mas deseja ter uma idéia dessas regras.
Ao contrário do boggle normal:
- Você NÃO precisa se preocupar com o fato de a palavra ser uma palavra válida em inglês.
- Não haverá nenhum
Qu
bloco único. - A palavra em questão pode ter qualquer tamanho> 0
Exemplo
No conselho de
AJNES
TNFTR
LSAIL
UDNEX
EQGMM
Essas palavras devem retornar True: FATE, DATING, STANDS, LIFTS.
Estas palavras devem retornar Falso: SADDEN, SULTANS, EXIST, SUEDE, QUEST
Este é um desafio do código-golfe, pelo que o código mais curto vence!