Giới thiệu
Hãy xem xét một danh sách không trống L của các số nguyên. Một lát cắt có tổng bằng 0 của L là một chuỗi tiếp giáp của L có tổng bằng 0. Ví dụ: [1, -3, 2] là lát cắt tổng bằng 0 của [-2, 4, 1, -3, 2, 2 , -1, -1] , nhưng [2, 2] thì không (vì nó không bằng 0) và [4, -3, -1] (vì nó không liền kề nhau).
Một tập hợp các lát có tổng bằng 0 của L là vỏ bọc tổng bằng 0 của L nếu mọi phần tử thuộc về ít nhất một trong các lát. Ví dụ:
L = [-2, 4, 1, -3, 2, 2, -1, -1]
A = [-2, 4, 1, -3]
B = [1, -3, 2]
C = [2, -1, -1]
Ba zero-sum lát Một , B và C tạo thành một bìa zero-sum của L . Nhiều bản sao của cùng một lát có thể xuất hiện trong bìa có tổng bằng 0, như thế này:
L = [2, -1, -1, -1, 2, -1, -1]
A = [2, -1, -1]
B = [-1, -1, 2]
C = [2, -1, -1]
Tất nhiên, không phải tất cả các danh sách đều có bìa bằng 0; một số ví dụ là [2, -1] (mỗi lát cắt có tổng khác không) và [2, 2, -1, -1, 0, 1] ( 2 ngoài cùng bên trái không phải là một phần của lát cắt tổng bằng 0).
Nhiệm vụ
Đầu vào của bạn là một danh sách số nguyên không trống L , được lấy ở bất kỳ định dạng hợp lý nào. Đầu ra của bạn sẽ là một giá trị trung thực nếu L có vỏ bọc tổng bằng 0 và giá trị giả nếu không.
Bạn có thể viết một chương trình đầy đủ hoặc một hàm và số byte thấp nhất sẽ thắng.
Các trường hợp thử nghiệm
[-1] -> False
[2,-1] -> False
[2,2,-1,-1,0,1] -> False
[2,-2,1,2,-2,-2,4] -> False
[3,-5,-2,0,-3,-2,-1,-2,0,-2] -> False
[-2,6,3,-3,-3,-3,1,2,2,-2,-5,1] -> False
[5,-8,2,-1,-7,-4,4,1,-8,2,-1,-3,-3,-3,5,1] -> False
[-8,-8,4,1,3,10,9,-11,4,4,10,-2,-3,4,-10,-3,-5,0,6,9,7,-5,-3,-3] -> False
[10,8,6,-4,-2,-10,1,1,-5,-11,-3,4,11,6,-3,-4,-3,-9,-11,-12,-4,7,-10,-4] -> False
[0] -> True
[4,-2,-2] -> True
[2,2,-3,1,-2,3,1] -> True
[5,-3,-1,-2,1,5,-4] -> True
[2,-1,-1,-1,2,-1,-1] -> True
[-2,4,1,-3,2,2,-1,-1] -> True
[-4,-1,-1,6,3,6,-5,1,-5,-4,5,3] -> True
[-11,8,-2,-6,2,-12,5,3,-7,4,-7,7,12,-1,-1,6,-7,-4,-5,-12,9,5,6,-3] -> True
[4,-9,12,12,-11,-11,9,-4,8,5,-10,-6,2,-9,10,-11,-9,-2,8,4,-11,7,12,-5] -> True
[2,2,-1,-1,0,1] -> False
giả mạo thứ ba là sự thật vì cả hai lát [2,-1,-1]
và [-1,0,1]
thêm vào không và tất cả các yếu tố của chúng đều nằm trong danh sách ban đầu?