Có n quả cầu đánh số 1..n. Thực hiện n lần đảo ngược: lần 1 đảo toàn bộ, lần 2 đảo từ vị trí 1 đến n, lần 3 đảo từ vị trí 2 đến n,... Tìm vị trí cuối cùng của quả cầu ban đầu ở vị trí index.
Ví dụ: balls=5, index=2 → kết quả 4.
Giải thuật
- Nếu index < balls // 2: trả về 2*index + 1.
- Ngược lại: trả về 2*(balls - index - 1).
Ví dụ mã Python
def solve(balls, index):
if index < balls // 2:
return 2 * index + 1
else:
return 2 * (balls - index - 1)
print(solve(5, 2)) # Output: 4
Đầu vào
5, 2
Đầu ra
4