Logo
(追記) (追記ここまで)

20301번 - 반전 요세푸스

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 (추가 시간 없음) 1024 MB45162080171747.093%

문제

요세푸스 문제는 다음과 같다.

1ドル$번 사람 오른쪽에는 2ドル$번 사람이 앉아 있고, 2ドル$번 사람 오른쪽에는 3ドル$번 사람이 앉아 있고, 계속하여 같은 방식으로 $N$명의 사람들이 원을 이루며 앉아 있다. $N$번 사람 오른쪽에는 1ドル$번 사람이 앉아 있다. 이제 $K$($\leq N$)번 사람을 우선 제거하고, 이후 직전 제거된 사람의 오른쪽의 $K$번째 사람을 계속 제거해 나간다. 모든 사람이 제거되었을 때, 제거된 사람의 순서는 어떻게 될까?

이 문제의 답을 ($\boldsymbol{N},ドル $\boldsymbol{K}$)–요세푸스 순열이라고 하며, (7ドル,ドル 3ドル$)–요세푸스 순열은 $\left<3, 6, 2, 7, 5, 1, 4\right>$가 된다.

하지만 한 방향으로만 계속 돌아가는 건 너무 지루하다. 따라서 요세푸스 문제에 재미를 더하기 위해 $M$명의 사람이 제거될 때마다 원을 돌리는 방향을 계속해서 바꾸려고 한다. 이렇게 정의된 새로운 문제의 답을 ($\boldsymbol{N},ドル $\boldsymbol{K},ドル $\boldsymbol{M}$)–반전 요세푸스 순열이라고 하며, (7ドル,ドル 3ドル,ドル 4ドル$)–반전 요세푸스 순열은 $\left<3, 6, 2, 7, \mathbf{1}, \mathbf{5}, \mathbf{4}\right>$가 된다.

$N,ドル $K,ドル $M$이 주어질 때, ($N,ドル $K,ドル $M$)–반전 요세푸스 순열을 계산해 보자.

입력

첫째 줄에 정수 $N,ドル $K,ドル $M$이 주어진다. (1ドル \leq N \leq 5\ 000,ドル 1ドル \leq K, M \leq N$)

출력

($N,ドル $K,ドル $M$)–반전 요세푸스 순열을 이루는 수들을 한 줄에 하나씩 순서대로 출력한다.

제한

예제 입력 1

7 3 4

예제 출력 1

3
6
2
7
1
5
4

힌트

출처

University > 서강대학교 > Sogang Programming Contest > 2020 Sogang Programming Contest > Master C번

University > 서강대학교 > Sogang Programming Contest > 2020 Sogang Programming Contest > Open K번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /