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

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

Сортировка Хакуна Матата

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

요약
1부터 n까지의 질량을 가진 곤충 순열이 주어질 때, 질량 차이가 1 이하인 두 원소를 교환하는 연산만으로 50000번 이하의 교환으로 정렬하는 수열을 출력한다.
난이도

보통10점 중 4점

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

문제

После веселой прогулки по африканской долине Тимон и Пумба решили пообедать. Для этого они достали из-под камня nn жуков, которые имеют различные целые массы от 11 до nn и расставили их на ближайшем бревне. Чтобы обед прошел веселее, Пумба предложил есть жуков по возрастанию масс.

Чтобы отсортировать жуков по возрастанию масс, Тимон и Пумба используют сортировку Хакуна Матата. Суть сортировки заключается в том, что Тимон и Пумба выбирают жуков, отличающихся массой не более чем на единицу, после чего друзья меняют их местами. Например, если Пумба выбрал жука с массой 2, тогда Тимон может взять жука либо с массой 1, либо с массой 3. Так как друзья много раз пользовались этой сортировкой, им известно, что она всегда работает.

За всем этим процессом внимательно наблюдал Зазу. Он впервые видит нечто подобное, и ему интересно, как таким способом можно отсортировать жуков. Ваша задача --- написать программу, которая по изначальному расположению жуков выведет последовательность ходов для сортировки жуков по возрастанию масс.

입력

В самой первой строке написано число nn --- количество жуков(1≤n≤1001 \le n \le 100). Во второй строке заданы nn разделенных пробелами различных чисел m_im\_i (1≤m_i≤n1 \le m\_i \le n), которые обозначают массу жука с номером ii.

출력

Выведите на первой строчке выходного файла число tt --- количество ходов в возможной сортировке Хакуна Матата. На следующих tt строчках выведите последовательность ходов сортировки Хакуна Матата таким образом, чтобы на строчке с номером ss было выведено два числа ii и jj, что значит, что на шаге с номером ss Пумба взял жука стоящего на позиции ii, а Тимон на позиции jj. Выведите любой способ, количество операций в котором не превышает 50000.

예제1

  1. 예제 1

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