페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#3696

연대 책임 1s 32MB

문제

정올사립학교는 연대 책임을 강조하는 것으로 유명하다. 학생 한 명이 잘못을 하면, N명의 학생 전원이 다음과 같은 식으로 기합을 받는다.

 

1.     기합이 시작하면, N명의 학생들이 운동장에 모여서 한 줄로 서 있는다. 처음에 각 학생들의 번호는 앞에서부터 1번이다.

 

2.     구령대에서 교장 선생님이 “p q”를 힘차게 외치면, 앞에서부터 p번째 학생부터 시작해서, 그 학생을 포함하여 뒤로 q명의 학생들이 맨 앞 으로 이동한다.

이 때, 움직인 학생들끼리의 순서는 그대로 유지한다.

만약 p번째 학생을 포함, 그 뒤에 q명 미만의 학생들밖에 없다면, q명 미만의 학생들만 맨 앞으로 움직인다.

 

3.     교장 선생님이 힘차게 “0 0”을 외치면 기합을 종료한다.

 

기합을 종료하기 직전 앞쪽 학생부터 차례로 학생들의 번호를 출력하는 프로그램을 작성하라.

 

이 문제는 연결 리스트(Linked List)만 가지고 풀어보도록 하자.

입력

첫 줄에 학생의 수인 N이 주어진다.(1N10,000)

다음 줄부터 교장 선생님의 지시사항인 p q가 주어진다. (1≤​p≤​10,000 , 1≤​q≤10,000)

 

​지시사항의 총 수는 10,000개 이하이며, 맨 마지막에는 0 0이 주어진다.


출력

한 줄에, 앞에서부터 학생들의 번호를 공백을 사이에 두고 출력한다.

 


예제

10

4 2
5 2
6 6
0 0
2 7 8 9 10 3 6 4 5 1

출처

ohjtgood
로그인해야 코드를 작성할 수 있어요.