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

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

HotLog


 

Перестановка

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

Сегодня вам предстоит очутиться в шкуре хакера и взломать сверхсекретный компьютер потенциального противника. Система защиты у него не простая, а сортировочная.

Вам известно, что изначально в памяти компьютера хранится матрица A, которая содержит N строк и 3 столбца. А так же что компьютер может выполнять команды, состоящие из двух аргументов str1 и str2 (str1 не равно str2), по следующему алгоритму:

  1. Циклически сдвинуть строку str1 на один элемент вправо;
  2. Циклически сдвинуть строку str2 на один элемент вправо;
  3. Поменять местами строки str1 и str2.

Для взлома компьютера вам нужно ввести такую последовательность команд, чтобы 1-й столбец матрицы был упорядочен по неубыванию, то есть A[1][1] ≤ A[2][1] ≤ ... ≤ A[N-1][1] ≤ A[N][1].

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

В первой строке входного файла INPUT.TXT содержится натуральное число N (1 ≤ N ≤ 1000). Далее следует N строк, каждая из которых содержит по три целых числа: Ai1, Ai2, Ai3 - элементы исходной матрицы (-109 ≤ Ai1, Ai2, Ai3 ≤ 109).

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

Первая строка выходного файла OUTPUT.TXT должна содержать целое число M – число запросов к компьютеру (0 ≤ M ≤ 104).

Далее должно идти M строк, каждая из которых описывает одну команду и должна состоять из двух различных чисел str1i и str2i (1 ≤ str1i, str2i ≤ N).

Примеры

INPUT.TXTOUTPUT.TXT
13
1 2 3
6 5 4
3 2 1
1
2 3
23
1 2 3
4 5 6
7 8 9
4
2 3
2 3
2 3
2 3

Примечание

После циклического сдвига на один элемент вправо строка матрицы «1, 2, 3» будет иметь вид «3, 1, 2».


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

 Язык программирования C++
 Решение олимпиадных задач
 Региональные олимпиады
 Книги Фёдора Меньшикова
 Тренировочные олимпиады
 Школьный этап
 Муниципальный этап
 Региональный этап
 Полуфинал ВКОШП
 Личное первенство СФУ
 2011 / 2012
 2012 / 2013
 2013 / 2014
 2014 / 2015
 2015 / 2016
 2016 / 2017
 2017 / 2018
 A. Простой шифр
 B. Лягушка
 C. Электронная очередь
 D. Производная
 E. Степени двойки
 F. Сыграем?
 G. Вася и отрезки
 H. Различные префиксы
 I. Взрывчатка
 J. Перестановка
 K. Многословие
 L. Подготовка к ЕГЭ

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