Школа программиста

Забыли пароль?
[задачи] [курсы] [олимпиады] [регистрация]
Логин:   Пароль:    
Скрыть меню
О школе
Правила
Олимпиады
Фотоальбом
Гостевая
Форум
Архив олимпиад
Архив задач
Состояние системы
Рейтинг
Курсы
Новичкам
Работа в системе
Курсы ККДП
Дистрибутивы
Статьи
Ссылки


 

Сортировка массива

(Время: 1 сек. Память: 32 Мб Сложность: 26%)

Задан целочисленный массив A[1..N]. Элементы массива имеют различные значения от 1 до N. Требуется упорядочить элементы массива по возрастанию, используя последовательность обменов значений пары элементов. При этом разрешается проводить обмен только тех элементов, значения которых отличаются друг от друга на 1. Например, для элемента со значением 5 возможен обмен только с элементами со значением 4 или 6, а элемент со значением 1 можно менять только с элементом со значением 2.

Входные данные

Первая строка входного файла INPUT.TXT содержит целое число N (1 ≤ N ≤ 100) – количество элементов в массиве. Во второй строке заданы N разделенных пробелами различных чисел Ai (1 ≤ Ai ≤ N, 1 ≤ i ≤ N) – элементы массива.

Выходные данные

В первой строке выходного файла OUTPUT.TXT выведите число k – количество ходов в возможной сортировке. На следующих k строках выведите последовательность ходов таким образом, чтобы на строчке с номером m было выведено два числа i и j, обозначающие позиции элементов массива, которые необходимо поменять на m-м шаге. Выведите любой вариант решения, количество операций в котором не превышает 50 000.

Если для заданного массива решения не существует, выведите «No solution» (без кавычек).

Пример

INPUT.TXTOUTPUT.TXT
13
2 3 1
2
1 3
2 3

Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!

[Обсуждение] [Все попытки] [Лучшие попытки] [Решение]


 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2005 / 2006
 2006 / 2007
 2007 / 2008
 2008 / 2009
 2009 / 2010
 2010 / 2011
 2011 / 2012
 2012 / 2013
 2013 / 2014 7-8 классы
 2013 / 2014 9-11 классы
 2014 / 2015 7-8 классы
 2014 / 2015 9-11 классы
 2015 / 2016 7-8 классы
 2015 / 2016 9-11 классы
 2016 / 2017 7-8 классы
 2016 / 2017 9-11 классы
 2017 / 2018 7-8 классы
 2017 / 2018 9-11 классы
 2018 / 2019 7-8 классы
 2018 / 2019 9-11 классы
 2019 / 2020 7-8 классы
 2019 / 2020 9-11 классы
 2020 / 2021 7-8 классы
 2020 / 2021 9-11 классы
 2021 / 2022 7-8 классы
 2021 / 2022 9-11 классы
 2022 / 2023 7-8 классы
 2022 / 2023 9-11 классы
 2023 / 2024 7-8 классы
 2023 / 2024 9-11 классы
 A. Газировка
 B. Волшебная последовательность
 C. Сортировка массива
 D. Флаги
 E. Арифметическая прогрессия
 F. Делители

Красноярский краевой Дворец пионеров, (c)2006 - 2024, ИНН 246305493507, E-mail: admin@acmp.ru