Wyzwanie
W przypadku tego wyzwania górzysty sznurek jest zgodny z regułą gramatyczną, w M: x(Mx)*której przy każdej produkcji wszystkie x mają ten sam charakter. Po wcięciu górski ciąg może wyglądać mniej więcej tak:
A
B
C
D
C
E
F
E
C
B
A
Jak widać, z boku wygląda trochę jak góra.
Definicja formalna
- Każda pojedyncza postać
ajest górzysta. - Jeśli
Sjest górzystym ciągiem iajest postacią, toaSajest górzysty, gdzie zestawienie reprezentuje konkatenację struny. - Jeśli
aSaiaTasą strunami górzystymi, toaSaTajest to struna górzysta. Zauważ, że ta reguła oznacza, że ten wzór obowiązuje dla dowolnej liczby powtórzeń. (czyliaSaTaUa,aSaTaUaVa,aSaTaUaVaWa... są górzyste).
Przykłady
Wszystkie palindromy o nieparzystej długości są górzyste, na przykład:
t
a
c
o
c
a
t
qwertytrasdfdgdsarewqjklkjq jest mniej trywialnym przykładem:
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
Przykładowe wyniki
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
Zasady
- Jest to problem decyzyjny, więc każda reprezentacja prawdy lub fałszu jest prawidłowym wyjściem, o ile jest poprawna, spójna, jednoznaczna, a program kończy się w określonym czasie. Pamiętaj, aby podać konwencję wyjściową ze swoim rozwiązaniem.
- Ustalenie, czy dane wyjściowe wskazują prawda, czy fałsz, nie musi być trywialne, bez konieczności znajomości łańcucha wejściowego. Zauważ, że nie oznacza to, że dane wyjściowe zgodne z prawdą lub fałszem muszą być stałe, jednak konwencja „drukuj górzysty sznurek, jeśli sznur jest górzysty, a nie-górzysty sznur, jeśli nie jest górzysty”, jest z oczywistych powodów zabroniona.
- Z drugiej strony, konwencja typu „zgłasza wyjątek dla fałszu i kończy cicho dla prawdy”, a także „drukuje pojedynczy znak dla prawdy, a wszystko inne dla fałszu”
- To jest golf golfowy, więc wygrywa najkrótszy program.
- Standardowe luki są zabronione.
wasitacaroraratisaw? Wydaje mi się, że jest górą
wasitacaroraratisawjest rzeczywiście górzysty AFAICT
aaasprawiają, że to nie działa.
aaabyłby dobry, w którym ta sama postać musi być używana na wielu poziomach.