Перестановка
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Сегодня вам предстоит очутиться в шкуре хакера и взломать сверхсекретный компьютер потенциального противника. Система защиты у него не простая, а сортировочная.
Вам известно, что изначально в памяти компьютера хранится матрица A, которая содержит N строк и 3 столбца. А так же что компьютер может выполнять команды, состоящие из двух целочисленных аргументов row1 и row2 (row1 не равно row2), по следующему алгоритму:
- Циклически сдвинуть строку матрицы row1 на один элемент вправо;
- Циклически сдвинуть строку матрицы row2 на один элемент вправо;
- Поменять местами строки row1 и row2.
Для взлома компьютера вам нужно ввести такую последовательность команд, чтобы 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 строк, каждая из которых описывает одну команду и должна состоять из двух различных чисел row1i и row2i (1 ≤ row1i, row2i ≤ N).
Примеры
| № | INPUT.TXT | OUTPUT.TXT |
| 1 | 3
1 2 3
6 5 4
3 2 1 | 1 2 3 |
| 2 | 3
1 2 3
4 5 6
7 8 9 | 4
2 3
2 3
2 3
2 3 |
Примечание
После циклического сдвига на один элемент вправо строка матрицы <1, 2, 3> будет иметь вид <3, 1, 2>.
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|