Ограничение времени: | 1 с |
Ограничение памяти: | 256M |
Ограничение размера стека: | 64M |
Дан массив слов, содержащих строчные латинские буквы.
Упорядочить слова по возрастанию с учётом обратного чтения, т.е. не по начальным, а по конечным буквам (упорядоченный таким образом словарь называется обратным и удобен при изучении особенностей строения конца слов и вообще словообразования, подборе рифм).Входные данные | Результат работы |
---|---|
window table ten screen | table screen ten window |
Ограничение времени: | 1 с |
Ограничение памяти: | 256M |
Ограничение размера стека: | 64M |
Дан массив натуральных чисел. Отсортируйте по возрастанию подмассив, состоящий из его чётных элементов. Все нечётные элементы должны остаться на своих местах.
Входные данные | Результат работы |
---|---|
9 9 8 7 6 5 4 30 20 10 |
9 4 7 6 5 8 10 20 30 |
Дан массив натуральных чисел. Вывести массив, состоящий из тех же чисел, в следующем порядке: сначала минимальное число, затем максимальное, затем второй минимум, потом второй максимум и так далее.
Входные данные | Результат работы |
---|---|
9 1 5 4 3 6 2 9 7 8 |
1 9 2 8 3 7 4 6 5 |
Ограничение времени: | 1 с |
Ограничение памяти: | 256M |
Ограничение размера стека: | 64M |
Два числа назовём дружными, если их сумма делится на 3 нацело.
По данному массиву натуральных чисел создайте массив, в котором элементы исходного упорядочены по возрастанию количества их друзей в этом массиве. Если у двух элементов одинаковое количество друзей, их первоначальный порядок следования должен быть сохранён. Элемент массива сам с собой дружить не умеет.Входные данные | Результат работы |
---|---|
3 1 2 3 |
3 1 2 |
5 3 2 12 1 6 |
2 1 3 12 6 |
В кинотеатре n рядов по m мест в каждом. В двумерном списке хранится информация о проданных билетах, число 1 означает, что билет на данное место уже продано, число 0 означает, что место свободно. Поступил запрос на продажу k билетов на соседние места в одном ряду. Определите, можно ли выполнить такой запрос.
Программа получает на вход числа n и m. Далее идет n строк, содержащих m чисел (0 или 1), разделенных пробелами. Затем дано число k.
Входные данные | Результат работы |
---|---|
3 4 0 1 0 1 1 0 0 1 1 1 1 1 2 |
2 |
3 3 0 1 0 1 0 0 1 1 1 3 |
0 |
Дано число N. Заполните таблицу N × N целыми числами начиная с 1, увеличивающимися квадратами, начиная с левого верхнего угла. Каждую новую сторону квадрата заполняйте числами, начиная сверху (см. пример). Программа получает на вход число N. Выведите заполненную таблицу, отводя на каждое число ровно 4 пробела.
Входные данные | Результат работы |
---|---|
1 2 5 10 4 3 6 11 9 8 7 12 16 15 14 13 |
Для решения этой задачи нужно что-то знать о двумерных массивах.
Дана прямоугольная матрица (таблица чисел), содержащая N строк и M столбцов. Для каждого элемента этой матрицы вычислите сумму всех чисел, находящихся левее и выше данного числа, то есть сумму чисел, которые находятся внутри прямоугольника, правый нижний угол которого является данным числом.
Программа получает на вход два числа N и M. Следующие N строк содержат по M целых неотрицательных чисел от 0 до 1000 каждое.
Программа должна вывести другую прямоугольную матрицу, также содержащую N строк и M чисел в каждой строке, построенной по описанному выше правилу.
Решение должно иметь сложность O(N × M). Ограничения: NM ≤ 50000.
Входные данные | Результат работы |
---|---|
3 4 1 2 1 2 2 1 2 1 1 2 1 2 |
1 3 4 6 3 6 9 12 4 9 13 18 |
Дана двумерная таблица N × N, где N — чётное. Разобъём её на четыре квадрата. Переставьте эти четыре квадрата, повернув их по часовой стрелке, не меняя порядок элементов внутри квадратов. Можете сделать это в том же массиве, а можете создать новый массив.
|
⟹ |
|
Программа получает на вход число N в первой строке, далее в N строках заданы элементы массива через пробел.
Выведите полученную таблицу, разделяя элементы ровно одним пробелом.
Входные данные | Результат работы |
---|---|
4 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 |
9 8 1 2 5 4 5 6 7 6 3 4 3 2 7 8 |