En el juego de mesa The Settlers of Catan , hay cinco tipos de recursos: Brick, Log, Ore, Wheat y Sheep. La construcción de un asentamiento cuesta un ladrillo, un tronco, un trigo y una oveja. Sin embargo, también puede intercambiar cuatro recursos idénticos para obtener un recurso de un tipo diferente. Por ejemplo, si tuviera cuatro minerales en la mano, podría intercambiarlos y obtener una oveja.
Su trabajo es determinar si puedo o no construir un acuerdo, dada mi mano.
Tu tarea
De entrada será una secuencia de las letras B
, L
, O
, W
, y S
, tomada en cualquier formato razonable. Estas letras corresponden a los cinco tipos de recursos dados anteriormente. Debe indicar si tengo o no los recursos necesarios para construir un acuerdo, teniendo en cuenta la posibilidad de negociar cuatro de un tipo.
Este es el código de golf , por lo que gana el código más corto en bytes.
Notas
- No tiene que dar salida a las operaciones que necesito realizar o cuántos asentamientos podría construir. Un simple "sí" o "no" servirá.
- Es posible que no se supone que la entrada está en ningún orden específico. En particular, no puede suponer que los recursos del mismo tipo están agrupados, por lo que
OBLSO
es una entrada válida. - Este es un problema de decisión , por lo que puede usar cualquier valor que quiera que signifique "sí" y "no", siempre que los dos valores elegidos sean distintos y consistentes.
- Las únicas reglas que nos interesan aquí son las enumeradas anteriormente. Las reglas más complicadas de los Colonos de Catan, como comerciar con otros jugadores o en puertos, no son relevantes aquí.
- Los caracteres de entrada (
B
,L
,O
,W
,S
) pueden ser sustituidos por otros valores si es más fácil para su idioma particular de la elección, siempre y cuando hay cinco entradas distintas. Si utiliza otros valores de entrada, especifíquelos en su respuesta.
Ejemplos
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)