Дана картинка. Требуется повернуть ее на 90 градусов по часовой стрелке вокруг центра.
Картинка представляет собой квадрат, разбитый на N x N маленьких квадратиков. Каждый маленький квадратик закрашен в свой цвет. Цвета имеют номера от 0 до 255.
В первой строке вводится число одно натуральное число N, не превосходящее 100.
В следующих N строках записано по N чисел – цвета соответствующих квадратиков.
Выведите N строк по N чисел, разделенных пробелами – цвета квадратиков после поворота картинки.
3 1 2 3 4 5 6 1 2 3
1 4 1 2 5 2 3 6 3
2 10 100 1 2
1 10 2 100
Прямоугольную таблицу, состоящую из N строк и M столбцов, раскрашивают следующим образом. Каждый столбец таблицы и каждую строку красят либо в синий, либо в желтый цвет. В итоге клетки, оказавшиеся на пересечении синего столбца и синей строки оказываются синими, желтого столбца и желтой строки — желтыми, а клетки на пересечении синего столбца и желтой строки, или, наоборот, желтого столбца и синей строки — зелеными.
Раскраска всех клеток таблицы (или просто сама таблица) называется правильной, если она может быть получена описанным выше способом.
Вам дана прямоугольная таблица, которую нужно раскрасить таким образом. Про некоторые клетки известно, какого цвета они должны быть, а остальные клетки могут в итоге быть любого цвета. Определите, как нужно раскрасить остальные клетки таблицы, чтобы раскраска была правильной.
Вводятся числа N и M — количество строк и столбцов таблицы (1≤N≤30, 1≤M≤30). Далее записано N строк по M чисел в каждой, задающие цвета, в которые должны быть окрашены клетки:
0 — клетка может в итоге быть любого цвета
1 — клетка должна быть синей
2 — клетка должна быть желтой
3 — клетка должна быть зеленой
Выведите N строк по M чисел в каждой — раскраску таблицы, которая является правильной, и в которой нужные клетки имеют нужный цвет. Если вариантов несколько, выведите любой из них. Если покрасить таким образом таблицу невозможно, выведите одно число 0.
Примеры
Входные данные | Выходные данные |
3 4 1 0 0 0 3 0 0 0 0 0 0 0 | 1 1 1 1 3 3 3 3 1 1 1 1 |
2 2 3 3 3 3 | 3 3 3 3 |
2 2 2 2 2 3 | 0 |
Даны две таблицы. В первой записана информация о школьниках (фамилия, имя и номер школы), а во второй – информация о результатах экзамена (фамилия, имя школьника и его оценка за экзамен). Требуется составить сводную таблицу, в которой будет указан номер школы и средняя оценка за экзамен всех учеников из этой школы (средняя оценка – это среднее арифметическое всех оценок, округленное до ближайшего сверху числа).
В первой строке вводится одно натуральное число N, не превосходящее 50 – количество школьников.
В следующих N строках вводится информация о школьниках в формате
Фамилия Имя Номер_Школы
Фамилия и имя не содержат пробелов, а номер школы – натуральное число, не превосходящее 2007.
В следующих N строках вводится информация об экзамене в формате
Фамилия Имя Оценка
Порядок учеников может быть иным, но имена и фамилии школьников такие же, как в предыдущем списке. Оценка – натуральное число от 2 до 5.
Гарантируется, что любые два школьника отличаются именем или фамилией.
Вывести список, отсортированный по возрастанию номера школы, каждая строка которого имеет формат
Номер_Школы Средняя_Оценка
4 Pete Ivanov 2 Vasya Petrov 2007 Nic Vasiliev 2 Ivan Nikolaev 2007 Ivan Nikolaev 5 Nic Vasiliev 4 Pete Ivanov 3 Vasya Petrov 5
2 4 2007 5
Введем следующие операции надо прямоугольной таблицей символов. Пусть нам дана матрица \(А\), состоящая из \(m\) строк (первый индекс) и \(n\) столбцов (второй индекс). Определим результирующую матрицу \(В\) для каждой из операций следующим образом:
В первой строке входных данных находятся значения \(m\) и \(n\) (\(0 < m, n \leq 300\)). В каждой из следующих \(m\) строк находятся по \(n\) печатных символов (т.е. не используются символы с кодами от 33 до 126).
Последняя строка содержит описание операций, которые были выполнены над этой матрицей, путем записи без пробелов из кодов. Операции выполняются по порядку слева направо.
Выведите сначала два целых числа \(-\) число строк и столбцов в результирующей матрице. Затем выведите саму матрицу в том же формате, что и во входных данных.
3 4 {uf= v-fn ("C% 1
4 3 {v( u-" ffC =n%
Вы являетесь одним из разработчиков новой компьютерной игры. Игра происходит на прямоугольной доске, состоящей из W×H клеток. Каждая клетка может либо содержать, либо не содержать фишку (см. рисунок).
Важной частью игры является проверка того, соединены ли две фишки путем, удовлетворяющим следующим свойствам:
При этом часть пути может оказаться вне доски. Например:
Фишки с координатами (1,3) и (4,4) могут быть соединены. Фишки с координатами (2,3) и (5,3) тоже могут быть соединены. А вот фишки с координатами (2,3) и (3,4) соединить нельзя – любой соединяющий их путь пересекает другие фишки.
Вам необходимо написать программу, проверяющую, можно ли соединить две фишки путем, обладающим вышеуказанными свойствами, и, в случае положительного ответа, определяющую минимальную длину такого пути (считается, что путь имеет изломы, начало и конец только в центрах клеток (или «мнимых клеток», расположенных вне доски), а отрезок, соединяющий центры двух соседних клеток, имеет длину 1).
Первая строка входного файла содержит два натуральных числа: W – ширина доски, H – высота доски (1≤W,H≤75). Следующие H строк содержат описание доски: каждая строка состоит ровно из W символов: символ «X» (заглавная английская буква «экс») обозначает фишку, символ «.» (точка) обозначает пустое место. Все остальные строки содержат описания запросов: каждый запрос состоит из четырёх натуральных чисел, разделённых пробелами – X1, Y1, X2, Y2, причём 1≤X1,X2≤W, 1≤Y1,Y2≤H. Здесь (X1, Y1) и (X2, Y2) – координаты фишек, которые требуется соединить (левая верхняя клетка имеет координаты (1,1)). Гарантируется, что эти координаты не будут совпадать (кроме последнего запроса; см. далее). Последняя строка содержит запрос, состоящий из четырёх чисел 0; этот запрос обрабатывать не надо. Количество запросов не превосходит 20.
Для каждого запроса необходимо вывести одно целое число на отдельной строке – длину кратчайшего пути, или 0, если такого пути не существует.
5 4 XXXXX X...X XXX.X .XXX. 2 3 5 3 1 3 4 4 2 3 3 4 0 0 0 0
5 6 0
4 4 XXXX XXXX XXXX XXXX 1 1 2 1 2 2 3 2 1 1 3 1 3 4 4 3 2 1 2 4 1 1 2 2 0 0 0 0
1 1 4 6 11 0