Josephus

View as PDF

Submit solution

Points: 0.10
Time limit: 1.0s
Memory limit: 64M
Input: stdin
Output: stdout

Author:
Problem type

Có ~N~ đứa trẻ đang xếp thành một vòng tròn. Chúng bắt đầu đếm số theo chiều kim đồng hồ. Khi đã đếm đủ một lượng ~P~, đứa trẻ ở vị trí đó sẽ rời khỏi vòng tròn. Sau khi đưa trẻ đó rời khỏi, việc đếm sẽ tiếp tục thực hiện từ đứa trẻ kế tiếp (vị trí cạnh đứa trẻ vừa rời đi). Quá trình này được lặp lại đến khi còn một đứa trẻ duy nhất.

Bạn phải tìm ra số thứ tự của đứa trẻ cuối cùng còn lại sau khi tất cả những đứa trẻ khác đã rời đi.

Input

  • Dòng đầu tiền gồm hai số nguyên ~N,P~ ~(1 \le N,P \le 10^6)~ - Số lượng đứa trẻ trong vòng tròn và giá trị ~P~

Output

  • Đầu ra bao gồm một số nguyên duy nhất là vị trí của đứa trẻ cuối cùng.

Sample Input 1

3 4

Sample Output 1

2

Giải thích

  • Đếm từ đứa trẻ thứ nhất: ~1,2,3,1~ -> đứa trẻ thứ nhất rời khỏi hàng.
  • Tiếp tục đếm từ đứa trẻ thứ hai: ~2,3,2,3~ -> đứa trẻ thứ ba rời khỏi hàng.
  • Còn lại duy nhất đứa trẻ thứ hai là đứa trẻ cuối cùng còn trong hàng khi những đứa trẻ khác đã rời khỏi hàng.

Comments

Please read the guidelines before commenting.


There are no comments at the moment.