Josephus
Xem dưới dạng PDF
Gửi bài giải
Điểm:
30
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
256M
đầu vào:
stdin
Đầu ra:
stdout
Kiểu bài tập
Bài toán Josephus: Có N người đứng thành vòng tròn, đánh số từ 1 đến N. Bắt đầu đếm từ người thứ 1, mỗi lần đếm đến K thì người đó bị loại khỏi vòng tròn. Quá trình tiếp tục với người tiếp theo cho đến khi chỉ còn một người.
Hãy mô phỏng bài toán sử dụng danh sách liên kết vòng (circular linked list) để xác định thứ tự loại bỏ và người sống sót cuối cùng.
Đầu vào
- Dòng đầu tiên chứa hai số nguyên N (\(1 \le N \le 1000\)) và K (\(1 \le K \le 1000\)).
Đầu ra
- Dòng đầu tiên: thứ tự loại bỏ các người chơi, cách nhau bởi dấu cách.
- Dòng thứ hai: người sống sót cuối cùng.
Ví dụ
Input:
7 3
Output:
3 6 2 7 5 1
4
Ràng buộc & Subtasks
| Subtask | Điểm | Ràng buộc |
|---|---|---|
| 1 | 30% | Tương ứng với các bộ test có kích thước nhỏ |
| 2 | 70% | Không có ràng buộc gì thêm ngoài định dạng đầu vào |
Nhận xét