Đưa ra một danh sách 1
s và -1
s, xác định xem đó có phải là mã OVSF hợp lệ hay không (bằng cách xuất ra giá trị trung thực hoặc giá trị falsey).
Mã OVSF được định nghĩa như sau:
[1]
là mã OVSF.Nếu
X
là một mã OVSF, sau đóX ++ X
vàX ++ -X
được cả hai mã OVSF.Dưới đây
++
là nối danh sách, và-
phủ nhận mọi yếu tố trong danh sách.Không có danh sách khác là mã OVSF hợp lệ.
Bạn có thể giả sử danh sách đầu vào chỉ chứa -1
và 1
, nhưng bạn phải xử lý chính xác danh sách trống, cũng như danh sách có độ dài không phải là 2.
Mã ngắn nhất (tính bằng byte) sẽ thắng.
Các trường hợp thử nghiệm
[] -> False
[1] -> True
[-1] -> False
[1, 1] -> True
[1, -1] -> True
[1, 1, 1, 1] -> True
[1, 1, 1, 1, 1] -> False
[1, -1, -1, 1, -1, 1, 1, -1] -> True
[1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1] -> False
[1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, 1] -> False
[1, 1, 1, 1, -1, -1, -1, -1, 1, 1, 1, 1, -1, -1, -1, -1] -> True