Nel gioco da tavolo The Settlers of Catan , ci sono cinque tipi di risorse: Brick, Log, Ore, Wheat e Sheep. La costruzione di un insediamento costa un mattone, un ceppo, un grano e una pecora. Tuttavia, puoi anche scambiare quattro risorse identiche per ottenere una risorsa di tipo diverso. Ad esempio, se avessi quattro minerali in mano, potresti scambiarli tutti e ottenere una pecora.
Il tuo compito è determinare se posso costruire un accordo o meno, data la mia mano.
Il tuo compito
Ingresso sarà una sequenza di lettere B
, L
, O
, W
, e S
, presa in qualsiasi formato ragionevole. Queste lettere corrispondono ai cinque tipi di risorse indicati sopra. Dovresti ottenere se ho le risorse necessarie per costruire un accordo, tenendo conto della possibilità di negoziare quattro nel loro genere.
Questo è code-golf , quindi vince il codice più breve in byte.
Gli appunti
- Non devi produrre quali operazioni devo eseguire o quanti insediamenti potrei costruire. Un semplice "sì" o "no" farà.
- Si può non dare per scontato che l'ingresso è in un ordine specifico. In particolare, non si può presumere che le risorse dello stesso tipo siano raggruppate insieme, quindi
OBLSO
è un input valido. - Questo è un problema decisionale , quindi puoi usare qualsiasi valore tu voglia dire "sì" e "no", purché i due valori scelti siano distinti e coerenti.
- Le uniche regole di cui ci occupiamo qui sono quelle sopra elencate. Le regole più complicate dei coloni di Catan come il trading con altri giocatori o nei porti non sono rilevanti qui.
- I caratteri di input (
B
,L
,O
,W
,S
) possono essere sostituiti con altri valori se è più facile per il particolare linguaggio di scelta, finché ci sono cinque ingressi distinti. Se si utilizzano altri valori di input, specificarli nella risposta.
Esempi
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)