프로그램 명: locker(open,special judge)
제한시간: 1 초

띠 모양의 자물쇠가 있다. 이 자물쇠는 한 줄로 늘어선 N 개의 칸으로 이루어져 있고, 각 칸에는 1부터 N 까지의 숫자가 하나씩 들어 있다.

맨 처음에는 1번째 칸부터 N 번째 칸까지 1부터 N 까지 숫자가 순서대로 하나씩 들어 있다.

아래 그림 1 은 10 개의 칸으로 이루어진 자물쇠의 맨 처음 모양을 보여주고 있다.

그림 1
1 2 3 4 5 6 7 8 9 10

이 자물쇠를 잠그기 위해서는 다음과 같은 3회의 동작을 연속적으로 수행해야 한다.

  1. 왼쪽으로 밀기
  2. 구간 뒤집기
  3. 왼쪽으로 밀기

첫 번째 동작은 왼쪽으로 밀기이다. 칸 밖으로 밀려나간 번호는 다시 오른쪽으로 돌아온다. 그림 1의 자물쇠를 왼쪽으로 3칸 밀고 나면 그림 2와 같게 된다. 이렇게 왼쪽으로 k 칸 밀기 동작을 k -왼쪽밀기라고 부른다. 이때 1 <= k < N이다.

그림 2
4 5 6 7 8 9 10 1 2 3

그 다음 동작은 정해진 구간의 숫자를 뒤집는 것이다.

예를 들어 그림 2의 자물쇠에서 7번째 칸에서부터 9번째 칸까지 숫자 <10,1,2>를 뒤집으면 다음 그림 3과 같게 된다. p 번째 칸부터 q 번째 칸까지 숫자들을 뒤집는 동작을 (p,q)-구간뒤집기라고 한다. 이때 항상 p < q 이다.

그림 3
4 5 6 7 8 9 2 1 10 3

이 상황에서 다시 5-왼쪽밀기 동작을 수행하였다면 자물쇠 모양은 아래 그림 4와 같게 된다.

그림 4
9 2 1 10 3 4 5 6 7 8

위에서 3-왼쪽밀기, (7,9)-구간뒤집기, 다시 5-왼쪽밀기의 동작을 차례로 수행하여 자물쇠를 잠궜다. 잠긴 자물쇠의 마지막 상태를 입력으로 받아서 그렇게 만든 3회의 동작을 찾아내는 프로그램을 작성하시오. 예를 들어 자물쇠 모양이 그림 4와 같다면 그 답은 3-왼쪽밀기, (7,9)-구간뒤집기, 5-왼쪽밀기이다.

프로그램의 실행시간은 1초를 넘을 수 없다. 부분 점수는 없다.

입력

출력

만일 답이 여럿일 경우에는 그 중 하나만 출력하면 된다.

입출력 예

입력

10
9 2 1 10 3 4 5 6 7 8

출력

3
7 9
5
출처:koi 초등지역기출

[질/답] [제출 현황] [푼 후(1)]
[ 채 점 ] [홈으로]  [뒤 로]