The Dole Queue 

In a serious attempt to downsize (reduce) the dole queue, The New National Green Labour Rhinoceros Party has decided on the following strategy. Every day all dole applicants will be placed in a large circle, facing inwards. Someone is arbitrarily (ngẫu nhiên) chosen as number 1, and the rest are numbered counter-clockwise (ngược chiều kim đồng hồ) up to N (who will be standing on 1’s left). Starting from 1 and moving counter-clockwise, one labour official counts off k applicants, while another official starts from N and moves clockwise (cùng chiều kim đồng hồ), counting m applicants. The two who are chosen are then sent off for retraining; if both officials pick the same person she (he) is sent off to become a politician. Each official then starts counting again at the next available person and the process continues until no-one is left. Note that the two victims (sorry, trainees) leave the ring simultaneously, so it is possible for one official to count a person already selected by the other official.

Tạm dịch:

Mỗi ngày, số người đến ăn xin sẽ được xếp vào một vòng tròn lớn, quay mặt vào trong.
Một người ngẫu nhiên sẽ được đánh số 1, tiếp đó đánh đến N theo chiều ngược kim đồng hồ.
Một nhân viên điếm k người ăn xin từ người số 1 theo chiều ngược chiều kim đồng hồ.
Nhân viên thứ 2 đếm m người ăn xin từ người số thứ N theo chiều kim đồng hồ.
2 người ăn xin kia được chọn sẽ được cử đi đào tạo lại, nếu là cùng 1 người thì người đó sẽ được đề cử làm chính trị gia.
Sau đó 2 người nhân viên tiếp tục công việc đó bắt đầu với người tiếp theo, cho đến khi ko con ai.
Chú ý rằng 2 người đen đủi bị đẩy ra khỏi vòng cùng 1 lúc vì vậy có khả năng người được nhân viên này đếm cũng chính là người mà nhân viên kia chọn

Input

Write a program that will successively read in (in that order) the three numbers (N, k and m; k, m > 0, 0 < N < 20) and determine the order in which the applicants are sent off for retraining. Each set of three numbers will be on a separate line and the end of data will be signalled by three zeroes (0 0 0).

Output

For each triplet, output a single line of numbers specifying the order in which people are chosen. Each number should be in a field of 3 characters. For pairs of numbers list the person chosen by the counter-clockwise official first. Separate successive pairs (or singletons) by commas (but there should not be a trailing comma).

Sample input

10 4 3
0 0 0

Sample output

tex2html_wrap_inline34 4 tex2html_wrap_inline34 8, tex2html_wrap_inline34 9 tex2html_wrap_inline34 5, tex2html_wrap_inline34 3 tex2html_wrap_inline34 1, tex2html_wrap_inline34 2 tex2html_wrap_inline34 6, tex2html_wrap_inline50 10, tex2html_wrap_inline34 7

where tex2html_wrap_inline50 represents a space.

Link: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=3&page=show_problem&problem=69

Advertisements