만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

요세푸스 순열

면접 대비

시간 제한2초메모리 제한512 MB

요약
1부터 N까지 원을 이룬 사람 중에서 K번째 사람을 순서대로 제거하고 그 순서를 꺾쇠괄호로 출력합니다.
난이도

쉬움10점 중 3점

유형
큐, 시뮬레이션
정답자
아직 제출이 없습니다

문제

1번부터 NN번까지 번호를 붙인 NN명이 원을 이루며 앉아 있고, 양의 정수 KK(K≤NK \le N)가 주어진다. 1번 사람부터 세기 시작해 KK번째 사람을 원에서 제거한다. 한 사람이 제거되면 그 다음 사람부터 다시 1로 세어 KK번째 사람을 제거하고, 남은 사람으로 이루어진 원을 따라 같은 과정을 반복한다. 이 과정은 NN명이 모두 제거될 때까지 계속된다. 사람이 제거된 순서를 (N,K)(N, K)-요세푸스 순열이라고 한다. 예를 들어 (7,3)(7, 3)-요세푸스 순열은 <3, 6, 2, 7, 5, 1, 4>이다.

NN과 KK가 주어지면 (N,K)(N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 NN과 KK가 공백을 사이에 두고 순서대로 주어진다. (1≤K≤N≤10001 \le K \le N \le 1000)

출력

요세푸스 순열을 한 줄에 출력한다. 여는 꺾쇠 <로 시작해 제거된 순서대로 번호를 쓰고, 번호 사이는 쉼표와 공백 한 칸으로 구분하며, 닫는 꺾쇠 >로 끝낸다.

예제7

  1. 예제 1

    입력
    7 3
    
    예상 출력
    <3, 6, 2, 7, 5, 1, 4>
    
  2. 예제 2

    입력
    1 1
    
    예상 출력
    <1>
    
  3. 예제 3

    입력
    5 1
    
    예상 출력
    <1, 2, 3, 4, 5>
    
  4. 예제 4

    입력
    5 5
    
    예상 출력
    <5, 1, 3, 4, 2>
    
  5. 예제 5

    입력
    2 2
    
    예상 출력
    <2, 1>
    
  6. 예제 6

    입력
    6 4
    
    예상 출력
    <4, 2, 1, 3, 6, 5>
    
  7. 예제 7

    입력
    10 2
    
    예상 출력
    <2, 4, 6, 8, 10, 3, 7, 1, 9, 5>