В любом приличном графическом редакторе и в современных мессенджерах есть функция поворота изображения на 90 градусов. И ваша задача - реализовать эту функцию. Нам не нужен полноценный фоторедактор, мы сосредоточимся только на повороте изображения на 90 градусов.
Мы предполагаем, что изображение представлено матрицей целых чисел. У вас есть матрица размером n X m. Вам нужно вывести матрицу, которая будет представлять собой поворот оригинала на 90 градусов по часовой стрелке.
Формат ввода Первая строка содержит два натуральных числа n и m (1 ≤ n, m ≤ 10^3). Следующие строки содержат описание матрицы: m неотрицательных целых чисел в каждой строке, не превышающих 10^18.
Формат вывода Выведите m строк, каждая из которых содержит n элементов - это матрица, повернутая на 90 градусов.
Пример:
Ввод 2 2 1 1 2 3
Вывод 2 1 3 1
Ввод 2 3 1 2 3 4 5 6
Вывод 4 1 5 2 6 3
Ввод 1 1 69
Вывод 69
Я решила эту задачу, код прикрепила в файлах Мой код в основном проходит все тесты,После этого я перешела на уровень 2, и здесь начались проблемы.
УРОВЕНЬ 2
В предыдущей задаче от вас требовалось вывести инвертированную матрицу, но теперь задача усложняется:
Теперь необходимо выполнить ротацию на месте, то есть без использования дополнительной памяти. Вместо вывода результата вам нужно вывести последовательность операций. Одна операция состоит из замены двух элементов матрицы.
Учитывая матрицу p и указанное направление вращения - по часовой стрелке (R) или против часовой стрелки (L), выведите последовательность операций для поворота исходной матрицы на 90 градусов в указанном направлении.
Обратите внимание, что порядок операций не обязательно должен соответствовать фактическому вращению, важно только, чтобы после всех операций матрица была повернута на 90 градусов. Количество операций также не обязательно минимально, но не должно превышать 7p - количество элементов в матрице, умноженное на 7.
Формат ввода: Первая строка содержит натуральное число p (1 ≤ p ≤ 10^6) и указание направления вращения: символ 'R' или 'L'. Следующие p строк содержат описание матрицы - одно неотрицательное целое число, не превышающее 10^18, в строке.
Формат вывода: В первой строке - число k, необходимое количество операций. k не должно превышать 7p^2. Затем в k строках выводятся пары чисел - координаты (x1, y1) и (x2, y2) ячеек, между которыми необходимо произвести обмен элементами матрицы.
Примечание: Пожалуйста, обратите внимание, что индексация строк и столбцов матрицы начинается с 0, а не с 1.
Пример:
Входные данные 2 L 0 0 0 1
Вывод 1 1 1 0 1
Входные данные 3 R 0 1 0 1 0 0 4 3 0
Вывод 3 1 0 1 2 0 0 2 0 1 0 2 1
Ввод 1 Л 5
Результат 0
Я попыталась решить задачу второго уровня, и вот что у меня получилось, прикрепила фото на выходе у меня 2 L 0 0 0 1 вывод: 3 0 0 0 1 0 1 1 1 1 1 1 0
Smi24.net — ежеминутные новости с ежедневным архивом. Только у нас — все главные новости дня без политической цензуры. "123 Новости" — абсолютно все точки зрения, трезвая аналитика, цивилизованные споры и обсуждения без взаимных обвинений и оскорблений. Помните, что не у всех точка зрения совпадает с Вашей. Уважайте мнение других, даже если Вы отстаиваете свой взгляд и свою позицию. Smi24.net — облегчённая версия старейшего обозревателя новостей 123ru.net. Мы не навязываем Вам своё видение, мы даём Вам срез событий дня без цензуры и без купюр. Новости, какие они есть —онлайн с поминутным архивом по всем городам и регионам России, Украины, Белоруссии и Абхазии. Smi24.net — живые новости в живом эфире! Быстрый поиск от Smi24.net — это не только возможность первым узнать, но и преимущество сообщить срочные новости мгновенно на любом языке мира и быть услышанным тут же. В любую минуту Вы можете добавить свою новость - здесь.