만드는 중입니다

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

순열 문제

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

요약
1부터 n까지의 순열이 주어질 때, 모든 값 쌍을 정확히 한 번씩 교환해서 정렬하는 순서를 출력합니다. 불가능하면 no를 출력합니다.
난이도

보통10점 중 6점

유형
구현, 수학
정답자
아직 제출이 없습니다

문제

Zenyk에게 1부터 nn까지의 정수를 한 번씩 담은 순열 PP가 있다. 그의 목표는 이 순열을 정렬하는 것이다. 이때 서로 다른 정수의 모든 쌍을 정확히 한 번씩 교환해야 한다.

그를 도와줄 수 있는가?

입력

첫 번째 줄에 정수 nn (2≤n≤10002 \le n \le 1000)이 하나 주어진다. 두 번째 줄에는 1부터 nn까지의 정수로 이루어진 순열 PP가 주어진다.

출력

순열을 정렬할 수 없으면 "no"를 출력한다. 그렇지 않으면 각 차례에 교환할 값의 쌍(인덱스가 아닌 값)을 나타내는 n(n−1)/2n(n-1)/2개의 줄을 출력한다.

예제3

  1. 예제 1

    입력
    4
    3 2 4 1
    
    예상 출력
    1 2
    4 1
    1 3
    2 3
    2 4
    3 4
    
  2. 예제 2

    입력
    3
    1 3 2
    
    예상 출력
    1 3
    3 2
    1 2
    
  3. 예제 3

    입력
    2
    1 2
    
    예상 출력
    no