Giới thiệu
Trong thử thách này, nhiệm vụ của bạn là mô phỏng một loại trò chơi loại trừ nhất định. Trong trò chơi, những người tham gia đứng thành một vòng tròn và mọi người đều đang giữ một số nguyên. Trên mỗi vòng của trò chơi, mọi người tham gia chỉ vào người đó n
bước đi, nếu đó n
là số họ đang giữ. Nếu n
là dương, họ đếm sang phải, nếu n
âm, họ đếm sang trái và nếu n
bằng 0, họ chỉ vào chính mình. Mọi người tham gia có ai đó chỉ vào họ đều bị loại và rời khỏi vòng tròn; Điều này kết thúc vòng. Các vòng đấu tiếp tục cho đến khi không còn người tham gia.
Đầu vào
Đầu vào của bạn là một danh sách các số nguyên không trống, ở bất kỳ định dạng hợp lý nào. Nó đại diện cho những con số mà những người tham gia trò chơi đang nắm giữ.
Đầu ra
Đầu ra của bạn là số vòng cần thiết cho đến khi trò chơi kết thúc.
Thí dụ
Hãy xem xét danh sách đầu vào [3,1,-2,0,8]
. Ở vòng đầu tiên, những điều sau đây xảy ra:
- Người giữ
3
điểm ngay tại người đang giữ0
. - Người giữ
1
điểm ngay tại người đang giữ-2
. - Người giữ
-2
điểm trái tại người đang giữ3
. - Người giữ
0
điểm tại chính họ. - Người giữ
8
điểm ngay tại người đang giữ-2
(danh sách đại diện cho một vòng tròn, do đó, nó bao quanh ở cuối).
Điều này có nghĩa là 0
, -2
và 3
được loại bỏ, vì vậy vòng thứ hai được thực hiện với danh sách [1,8]
. Ở đây, 1
chỉ vào 8
và 8
chỉ vào chính họ, vì vậy 8
được loại bỏ. Vòng thứ ba được thực hiện với danh sách [1]
, trong đó 1
chỉ đơn giản là chỉ vào chính họ và bị loại. Phải mất ba vòng để loại bỏ tất cả những người tham gia, vì vậy đầu ra chính xác là 3
.
Quy tắc và tính điểm
Bạn có thể viết một chương trình đầy đủ hoặc một chức năng. Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Các trường hợp thử nghiệm
[3] -> 1
[0,0,0] -> 1
[-2,-1,0,1,2,3,4,5,6,7] -> 2
[5,5,5,6,6,6] -> 2
[3,-7,-13,18,-10,8] -> 2
[-7,5,1,-5,-13,-10,9] -> 2
[4,20,19,16,8,-9,-14,-2,17,7,2,-2,10,0,18,-5,-5,20] -> 3
[11,2,7,-6,-15,-8,15,-12,-2,-8,-17,6,-6,-5,0,-20,-2,11,1] -> 4
[2,-12,-11,7,-16,9,15,-10,7,3,-17,18,6,6,13,0,18,10,-7,-1] -> 3
[18,-18,-16,-2,-19,1,-9,-18,2,1,6,-15,12,3,-10,8,-3,7,-4,-11,5,-15,17,17,-20,11,-13,9,15] -> 6
n
là số người đang giữ?