O New York Times tem um jogo online diário chamado Letter Boxed (o link está atrás de um paywall; o jogo também é descrito aqui ), apresentado em um quadrado da seguinte forma:
Você recebe 4 grupos de 3 letras (cada grupo corresponde a um lado da foto); nenhuma letra aparece duas vezes. O objetivo do jogo é encontrar palavras compostas por essas 12 letras (e apenas essas letras) de modo que:
- Cada palavra tem pelo menos três letras;
- Cartas consecutivas não podem ser do mesmo lado;
- A última letra de uma palavra se torna a primeira letra da palavra seguinte;
- Todas as letras são usadas pelo menos uma vez (as letras podem ser reutilizadas).
Neste desafio, você recebe as letras e uma lista de palavras. O objetivo é verificar se a lista de palavras é uma solução válida para caixas de correio.
Entrada
A entrada consiste em (1) 4 grupos de 3 letras e (2) uma lista de palavras. Pode estar em qualquer formato adequado.
Saída
Um valor verdadeiro, se a lista de palavras for uma solução válida para o desafio Letter Boxed para essas letras 4 × 3, e um valor falsey caso contrário.
Casos de teste
Grupos de letras ={{I,C,O}, {M,R,E}, {G,N,S}, {A,P,L}}
.
Valores reais
- PEREGRINAÇÃO, INCLUIR
- CULTURAS, VELA, LEAN, NOPE, ENIGMA
Valores de Falsey
- PEREGRINAÇÃO, ECONOMIAS (não pode ter CO, pois estão do mesmo lado)
- CROPS, SAIL, LEAN, NOPE (G e M não foram utilizados)
- PEREGRINAÇÃO ENCLOSURE (U não é uma das 12 letras)
- ANEXAR, PEREGRINAÇÃO (a última letra da 1ª palavra não é a primeira letra da 2ª palavra)
- SCAMS, SO, ORGANIZAR, FUGIR (todas as palavras devem ter pelo menos três letras).
Observe que, neste desafio, não nos importamos se as palavras são válidas (parte de um dicionário).
Pontuação:
Esse código de golfe , a menor pontuação em bytes, ganha!
[]
e 0
são falsey. Podemos produzir ou nossa produção deve ser consistente?
no letter appears twice