아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

РАЗМЕСТВАНИЯ

시간 제한1초메모리 제한1024 MB

요약
인접한 두 원소가 모두 제자리에 없을 때만 교환할 수 있다는 규칙 아래, 순열을 오름차순으로 정렬하는 교환 순서를 출력합니다.
난이도

보통10점 중 6점

유형
정렬, 그리디, 시뮬레이션
정답자
아직 제출이 없습니다

문제

Дадена е пермутация P на числата от 1 до N. Едно разместване сменя местата само на два съседни елемента, ако нито един от тях не е на мястото си.

Например, ако Р=5 2 4 1 3, то може да се размени всяка двойка съседни числа без (5,2) и (4,2), защото числото 2 е на позиция 2.

Напишете програма swap, която извежда поредица от размествания, след които числата се подреждат във възходящ ред: 1,2,…,N. Не е необходимо броят на разместванията да е минимален.

입력

На първия ред стандартния вход е разположено числото N, на следващия ред е пермутация на числата от 1 до N. Пермутацията е зададена коректно и чрез последователност от размествания, всяко от които отговаря на описаното в условието правило, може да се реши поставената задача.

출력

На един ред на стандартния изход изведете броя на разместванията M, след които числата от 1 до N се подреждат във възходящ ред. На следващите M реда изведете по две числа I и J, разделени с интервал – номерата на елементите, които се разместват.

Номерата в пермутацията започват от 1 и се увеличават отляво надясно.

Ако решенията са повече от едно, изведете което и да е от тях.

제한

  • 0 < N ≤ 100

예제2

  1. 예제 1

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

    입력
    5
    2 3 1 5 4
    
    예상 출력
    3
    2 3
    1 2
    4 5