Перестановка
(Время: 1 сек. Память: 16 Мб Сложность: 45%)
Сегодня вам предстоит очутиться в шкуре хакера и взломать сверхсекретный компьютер потенциального противника. Система защиты у него не простая, а сортировочная.
Вам известно, что изначально в памяти компьютера хранится матрица A, которая содержит N строк и 3 столбца. А так же что компьютер может выполнять команды, состоящие из двух аргументов str1 и str2 (str1 не равно str2), по следующему алгоритму:
- Циклически сдвинуть строку str1 на один элемент вправо;
- Циклически сдвинуть строку str2 на один элемент вправо;
- Поменять местами строки 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.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».
Для отправки решения задачи необходимо зарегистрироваться и авторизоваться!
|