Sfida
Per questa sfida, una stringa montagnosa è una stringa conforme alla regola grammaticale in M: x(Mx)*
cui ad ogni produzione, tutte le x sono lo stesso carattere. Una volta rientrata, una stringa montuosa potrebbe assomigliare a questa:
A
B
C
D
C
E
F
E
C
B
A
Come puoi vedere, sembra un po 'come una montagna di lato.
Definizione formale
- Ogni singolo personaggio
a
è montuoso. - Se
S
è una stringa montuosa eda
è un personaggio, alloraaSa
è montuosa, dove la giustapposizione rappresenta la concatenazione di stringhe. - Se
aSa
eaTa
sono stringhe montuose, alloraaSaTa
è una stringa montuosa. Si noti che questa regola implica che questo modello vale per qualsiasi numero di ripetizioni. (vale a direaSaTaUa
,aSaTaUaVa
,aSaTaUaVaWa
... sono tutti montagnosa.)
Esempi
Tutti i palindromi di lunghezza dispari sono montuosi, ad esempio:
t
a
c
o
c
a
t
qwertytrasdfdgdsarewqjklkjq
è un esempio meno banale:
q
w
e
r
t
y
t
r
a
s
d
f
d
g
d
s
a
r
e
w
q
j
k
l
k
j
q
Esempi di output
a ==> true
aaa ==> true
mom ==> true
tacocat ==> true
qwertytrasdfdgdsarewqjklkjq ==> true
wasitacaroraratisaw ==> true
abcbcbcbcba ==> true
aaaaabcbbba ==> true
<empty string> ==> false
aa ==> false
pie ==> false
toohottohoot ==> false
asdfdghgfdsa ==> false
myhovercraftisfullofeels ==> false
Regole
- Questo è un problema decisionale, quindi qualsiasi rappresentazione di vero o falso è un output valido fintanto che è corretto, coerente, inequivocabile e il programma termina in un tempo finito. Assicurati di indicare la convenzione di output con la tua soluzione.
- Dovrebbe essere banale determinare se l'output indica vero o falso senza dover sapere quale sia la stringa di input. Si noti che ciò non significa che i risultati di verità o falsità debbano essere costanti, tuttavia la convenzione di "stampare una stringa montuosa se la stringa è montuosa e una stringa non montuosa se non montuosa" è una scappatoia vietata per ovvie ragioni.
- D'altra parte, una convenzione come "genera un'eccezione per il falso ed esce silenziosamente per il vero" andrebbe bene, così come "stampa un singolo personaggio per il vero e qualsiasi altra cosa per il falso"
- Questo è il golf del codice, quindi vince il programma più breve.
- Le scappatoie standard sono vietate.
wasitacaroraratisaw
? Mi sembra mountanous
wasitacaroraratisaw
è davvero montuoso AFAICT
aaa
quello non funzionano.
aaa
sarebbe buono, in cui lo stesso personaggio deve essere utilizzato su più livelli.