No jogo de tabuleiro The Settlers of Catan , existem cinco tipos de recursos: Brick, Log, Ore, Wheat e Sheep. Construir um assentamento custa um tijolo, um tronco, um trigo e uma ovelha. No entanto, você também pode trocar quatro recursos idênticos para obter um recurso de um tipo diferente. Por exemplo, se você tivesse quatro minérios na mão, poderia trocá-los e obter uma ovelha.
Seu trabalho é determinar se posso ou não construir um acordo, dada a minha mão.
Sua tarefa
Entrada será uma seqüência de letras B
, L
, O
, W
, e S
, tomado em qualquer formato razoável. Essas letras correspondem aos cinco tipos de recursos fornecidos acima. Você deve saber se tenho ou não os recursos necessários para construir um acordo, levando em consideração a possibilidade de negociar quatro do mesmo tipo.
Isso é código-golfe , então o código mais curto em bytes vence.
Notas
- Você não precisa exibir quais negociações eu preciso realizar ou quantos acordos eu poderia construir. Um simples "sim" ou "não" serve.
- Você não pode assumir que a entrada está em qualquer ordem específica. Em particular, você não pode supor que os recursos do mesmo tipo estejam agrupados, assim
OBLSO
como uma entrada válida. - Esse é um problema de decisão ; portanto, você pode usar qualquer valor que queira que signifique "sim" e "não", desde que os dois valores escolhidos sejam distintos e consistentes.
- As únicas regras com as quais estamos preocupados aqui são as listadas acima. Regras mais complicadas de Colonos de Catan, como negociar com outros jogadores ou em portos, não são relevantes aqui.
- Os caracteres de entrada (
B
,L
,O
,W
,S
) pode ser substituído por outros valores se é mais fácil para o seu idioma específico de escolha, desde que há cinco entradas distintas. Se você usar outros valores de entrada, especifique-os na sua resposta.
Exemplos
BLWS -> Yes
OOOOWLB -> Yes (trade four O for a S)
OOW -> No
BBBO -> No
(empty input) -> No
BBBBLW -> No
BBBBBLW -> Yes (trade four B for a S)
OOOOOOOOOOOOOOOO -> Yes (sixteen O; trade for B, L, W, S)
BLBLBLBLBL -> Yes (trade L for W and B for S)
BLSWBLSWBLSW -> Yes (extra, unused resources are ignored)