Có 3n đống coin, 3 người chơi: P1 chọn 3 đống, P2 lấy đống max, P1 lấy đống max tiếp theo, P3 lấy đống còn lại. Lặp đến hết. Tìm max coin P1 có được.
Ví dụ: piles=[2,4,1,2,7,8] → 9 (chọn (2,7,8) P1 lấy 7; chọn (1,2,4) P1 lấy 2).
Thuật toán
- Sắp xếp piles tăng dần
- While piles không rỗng:
- ans += piles[-2] (phần tử倒数 thứ 2)
- Xóa piles[-2], piles[-1], piles[0]
- Return ans
Code Python
def solve(piles):
piles.sort()
ans = 0
while len(piles) != 0:
ans += piles[-2]
del piles[-2]
del piles[-1]
del piles[0]
return ans
piles = [2,4,1,2,7,8]
print(solve(piles))
Input
[2,4,1,2,7,8]
Output
9