Bài toán Josephus 2
Xem dạng PDFBài toán: Trò chơi loại bỏ trẻ em (với bước nhảy ~ k ~)
Đề bài
Xét một trò chơi có ~ n ~ trẻ em (được đánh số từ ~ 1, 2, \ldots, n ~) xếp thành vòng tròn. Trong trò chơi, cứ mỗi lần nhảy qua ~ k ~ trẻ em, một trẻ em sẽ bị loại khỏi vòng tròn. Tiếp tục cho đến khi không còn trẻ em nào. Hãy xác định thứ tự các trẻ em bị loại.
Input
- Một dòng duy nhất chứa hai số nguyên ~ n ~ (số lượng trẻ em) và ~ k ~ (bước nhảy).
Output
- In ra ~ n ~ số nguyên: thứ tự các trẻ em bị loại.
Ràng buộc
- ~ 1 \leq n \leq 2 \times 10^5 ~
- ~ 0 \leq k \leq 10^9 ~
Ví dụ
Input:
7 2
Output:
3 6 2 7 5 1 4
Giải thích:
- Ban đầu: ~ [1, 2, 3, 4, 5, 6, 7] ~.
- Loại ~ 3 ~: ~ [1, 2, 4, 5, 6, 7] ~.
- Loại ~ 6 ~: ~ [1, 2, 4, 5, 7] ~.
- Loại ~ 2 ~: ~ [1, 4, 5, 7] ~.
- Loại ~ 7 ~: ~ [1, 4, 5] ~.
- Loại ~ 5 ~: ~ [1, 4] ~.
- Loại ~ 1 ~: ~ [4] ~.
- Loại ~ 4 ~: ~ [] ~.
Bình luận
Gửi bài giải
Kotlin
PyPy
Điểm:
10,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ:
256M
Input:
stdin
Output:
stdout
Nguồn bài:
CSES
Dạng bài
CSES
Ngôn ngữ cho phép
C
C++
Java
Pascal
Python
Scratch