Thử thách
Đối với thử thách này, một chuỗi núi là một chuỗi tuân theo quy tắc ngữ pháp M: x(Mx)*
trong đó tại mỗi sản phẩm, tất cả các x đều là cùng một ký tự. Khi thụt lề, một chuỗi núi có thể trông giống như thế này:
A
B
C
D
C
E
F
E
C
B
A
Như bạn có thể thấy, nó trông hơi giống một ngọn núi từ bên cạnh.
Định nghĩa chính thức
- Bất kỳ nhân vật duy nhất
a
là miền núi. - Nếu
S
là một chuỗi núi vàa
là một ký tự, thìaSa
là một miền núi, trong đó juxtap vị trí đại diện cho nối chuỗi. - Nếu
aSa
vàaTa
là chuỗi núi, thìaSaTa
là một chuỗi núi. Lưu ý rằng quy tắc này ngụ ý rằng mẫu này giữ cho bất kỳ số lần lặp lại. (ví dụaSaTaUa
,aSaTaUaVa
,aSaTaUaVaWa
... đều là miền núi.)
Ví dụ
Tất cả các palindromes chiều dài lẻ là núi, ví dụ:
t
a
c
o
c
a
t
qwertytrasdfdgdsarewqjklkjq
là một ví dụ ít tầm thường hơn:
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
Kết quả đầu ra
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
Quy tắc
- Đây là một vấn đề quyết định, do đó, bất kỳ biểu diễn nào đúng hay sai đều là đầu ra hợp lệ miễn là nó đúng, nhất quán, không mơ hồ và chương trình kết thúc trong một khoảng thời gian hữu hạn. Hãy chắc chắn để nêu quy ước đầu ra của bạn với giải pháp của bạn.
- Sẽ là tầm thường để xác định xem đầu ra chỉ ra đúng hay sai mà không cần phải biết chuỗi đầu vào là gì. Lưu ý rằng điều này không có nghĩa là đầu ra trung thực hoặc sai lệch phải không đổi, tuy nhiên quy ước "in chuỗi núi nếu chuỗi là núi và chuỗi không núi nếu không phải là núi" là một lỗ hổng bị cấm vì những lý do rõ ràng.
- Mặt khác, một quy ước như "ném một ngoại lệ cho sai và thoát âm thầm cho đúng" sẽ ổn, cũng như "in một ký tự duy nhất thành đúng và bất cứ điều gì khác cho sai"
- Đây là mã golf, vì vậy chương trình ngắn nhất sẽ thắng.
- Sơ hở tiêu chuẩn bị cấm.
wasitacaroraratisaw
? Nó có vẻ phù hợp với tôi
wasitacaroraratisaw
thực sự là miền núi AFAICT
aaa
làm cho nó không hoạt động.
aaa
sẽ tốt, trong đó cùng một nhân vật cần được sử dụng trên nhiều cấp độ.