Массивы

467 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
По заданному числу n от 1 до 365 определите, на какое число какого месяца приходится день невисокосного года с номером n.
 

Входные данные

Дано одно целое число n.


Выходные данные

Программа должна вывести два числа в одной строке через пробел: число месяца (от 1 до 31) и номер месяца (от 1 до 12), соответствующие  дню  с номером n.
 

Примеры
Входные данные Выходные данные
1 1 1 1
2 90 31 3

Напишите программу, которая сортирует двумерный массив целых чисел. При этом самое маленькое число должно оказаться в первом элементе первой строки, а самое большое в последнем элементе последней строки.


Входные данные

В первой строке записаны через пробел размеры двумерного массива: количество строк N и количество столбцов M ( 1 <= N , M <= 100 ). В следующих N строках записаны строки двумерного массива, в каждой – по M натуральных чисел, разделённых пробелами. 
 

Выходные данные

Программа должна вывести отсортированный двумерный массив.
 

Примеры
Входные данные Выходные данные
1
5 7
13 5 1 8 4 14 5 
5 13 10 9 3 7 7 
3 3 9 6 3 7 5 
10 8 11 2 1 1 13 
1 12 13 15 9 11 4 
1 1 1 1 2 3 3 
3 3 4 4 5 5 5 
5 6 7 7 7 8 8 
9 9 9 10 10 11 11 
12 13 13 13 13 14 15 

Напишите программу, которая переставляет элементы квадратной матрицы, расположенные на побочной диагонали, в порядке убывания, начиная с правого верхнего угла. Остальные элементы матрицы должны остаться на своих местах.
 

Входные данные

В первой строке записано одно число N размер квадратной матрицы ( 1 <= N <= 100 ). В следующих N строках записаны строки матрицы, в каждой – по N натуральных чисел, разделённых пробелами. 
 

Выходные данные

Программа должна вывести получившуюся матрицу, в которой элементы побочной диагонали расположены в порядке возрастаниия.
 

Примеры
Входные данные Выходные данные
1
5
12 4 8 13 13 
1 12 1 4 15 
2 3 5 2 3 
6 5 13 12 14 
14 9 15 4 12 
12 4 8 13 14 
1 12 1 13 15 
2 3 5 2 3 
6 5 13 12 14 
4 9 15 4 12
 

Напишите программу, которая переставляет элементы квадратной матрицы, расположенные на главной диагонали, в порядке возрастания. Остальные элементы матрицы должны остаться на своих местах.
 

Входные данные

В первой строке записано одно число N размер квадратной матрицы ( 1 <= N <= 100 ). В следующих N строках записаны строки матрицы, в каждой – по N натуральных чисел, разделённых пробелами. 
 

Выходные данные

Программа должна вывести получившуюся матрицу, в которой элементы главной диагонали расположены в порядке возрастаниия.
 

Примеры
Входные данные Выходные данные
1
5
1 11 11 5 10 
2 9 2 10 2 
12 9 10 9 15 
6 15 14 1 11 
11 12 4 9 3 
1 11 11 5 10 
2 1 2 10 2 
12 9 3 9 15 
6 15 14 9 11 
11 12 4 9 10
 
Дан двумерный массив A размерностью NxM. Напишите программу, которая добавляет к элементам каждой строки такой новый элемент, чтобы сумма положительных элементов строки стала бы равна модулю суммы отрицательных элементов строки.

Входные данные
В первой строке входных данных записаны через один пробел два натуральных числа N и M ( 0 < N, M <= 25). Далее идут N строк по M положительных целых чисел в каждой - элементы матрицы A (каждый элемент матрицы не превышает 105).

Выходные данные
Выведите результирующий массив A размерностью Nx(M+1) на экран. Все элементы строки должны быть разделены одним пробелом.
 
 
Примеры
Входные данные Выходные данные
1 4 5
-10 2 10 -3 4
-5 3 6 -8 8
12 -10 3 -8 4
1 2 3 -1 -2
-10 2 10 -3 4 -3
-5 3 6 -8 8 -4
12 -10 3 -8 4 -1
1 2 3 -1 -2 -3

Сегодня Максиму не повезло в игре в "Морской бой". Играя с соседом по парте, он ни разу не попал ни в один корабль противника. Игра продолжалась до тех пор, пока Марь Иванна не увидела, что ребята заняты на уроке не тем, чем надо.  Игру пришлось закончить досрочно победой соседа. Прийдя домой, Максим решил определить, какой максимальной длины корабль мог быть у противника. 
Но теперь его отвлекла мама и позвала ужинать. Он ушел ужинать и попросил вас помочь ему найти ответ. 

Морской бой представляет из себя игру на клетчатом поле размером 10 x 10 клеток. Максим успел прислать вам поле прошедшей игры. На поле отмечены клетки, в которые Максим уже стрелял. На поле можно размещать корабли любого размера, но обязательное условие, чтобы корабль был прямоугольным с шириной, равной 1. Располагать корабль разрешается либо горизонтально либо вертикально.


Входные данные

На вход программа получает 10 строк по 10 чисел в каждой, числа разделены пробелами. Число 1 означает, что в соответствующую клетку стреляли, число 0 – что в клетку не стреляли.
(Гарантируется, что на поле есть хотя бы одна небитая клетка.)


Выходные данные

Выведите ответ  – максимальную возможную длину корабля.
 

Примеры
Входные данные Выходные данные
1
0 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 1 0
0 0 1 0 0 0 0 1 0 0
0 0 0 1 0 0 1 0 0 0
0 0 0 0 1 1 0 0 0 0
0 0 0 0 1 1 0 0 0 0
0 0 0 1 0 0 1 0 0 0
0 0 1 0 0 0 0 1 0 0
0 1 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 0
10

Учащиеся театрального кружка школы любят посещать театр. В очередной раз они пошли в театр, в котором n рядов по m мест в каждом. Руководитель кружка пришла за билетами и хочет купить билеты всем учащимся в одном ряду на соседние места. 
По имеющейся информации о проданных билетах на спектакль определите, сможет ли руководитель купить билеты всем учащимся и себе в одном ряду. 
Информация о проданных билетах записана в двумерный массив (единицы означают, что на данное место билет продан, ноль - что место свободно). Руководителю кружка вместе с детьми необходимо k билетов.


Входные данные

В первой строке входных данных находятся числа nmk <= 100. В следующих n строках входных данных расположены по m чисел (0 и 1), разделенных пробелами.


Выходные данные

Выведите YES или NO в зависимости от ответа на вопрос задачи.

 
Примеры
Входные данные Выходные данные
1
3 4 2
0 1 0 1
1 0 0 1
1 1 1 1
YES

Яркости пикселей рисунка закодированы числами от 0 до 255 в виде матрицы. Преобразовать рисунок в черно-белый по следующему алгоритму:

  1. вычислить среднюю яркость пикселей по всему рисунку
  2. все пиксели, яркость которых меньше средней, сделать черными (записать код 0), а остальные -– белыми (код 255)


Входные данные

В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 <= N , M <= 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел в диапазоне от 0 до 255, разделённых пробелами.
 

Выходные данные

Программа должна вывести в первой строчке среднее значение яркости для заданного рисунка с точностью 4 знака в дробной части. В следующих N строчках выводится построенная матрица, соответствующая чёрно-белому изображению.

 
Примеры
Входные данные Выходные данные
1
4 4
12 14 67 45
32 87 45 63
69 45 14 11
40 12 35 15
37.8750
0 0 255 255
0 255 255 255
255 255 0 0
255 0 0 0

Напишите программу, которая переставляет строки матрицы так, чтобы значения в столбце K шли в порядке убывания. Строки, у которых значения в столбце K равны, должны быть выведены в том же порядке, в котором они стояли в исходной матрице.
 

Входные данные

В первой строке записаны через пробел размеры матрицы: количество строк N и количество столбцов M ( 1 <= N , M <= 100 ). В следующих N строках записаны строки матрицы, в каждой – по M натуральных чисел, разделённых пробелами. В последней строке вводится номер столбца K .
 

Выходные данные

Программа должна вывести получившуюся матрицу, в которой строки переставлены так, чтобы значения в столбце K шли в порядке убывания.
 

Примеры
Входные данные Выходные данные
1
4 5
21 22 23 24 25
26 12 18 29 33
11 37 31 14 39
16 17 18 5 20
1
26 12 18 29 33 
21 22 23 24 25 
16 17 18 5 20 
11 37 31 14 39 

Создайте двумерный массив размером n×m и заполните его натуральными числами от 1 до nxm по вертикали (см. пример).


Входные данные

Даны два натуральных числа: n и m, не превышающие 1010.


Выходные данные

Выведите заполненный двумерный массив

 

Примеры
Входные данные Выходные данные
1
3 4
1 4 7 10 
2 5 8 11 
3 6 9 12 
Входные данные
В первой строке вводится число N (1<=N<=20)  - количество элементов одномерного массива. Во второй строке вводится N целых чисел (все числа по модулю не более 100).

Выходные данные
Выведите одно число - количество элементов исходного массива, равных последнему элементу (последний элемент в подсчете не учитывается).
 
Примеры
Входные данные Выходные данные
1 5
1 5 5 -4 5
2

Дан массив, состоящий из N целых чисел. Напишите программу, которая выводит элементы массива в обратном порядке.

Входные данные
Сначала задано число N — количество элементов в массиве (1<=N<=100). Далее через пробел записаны N чисел — элементы массива. Массив состоит из целых чисел, по модулю не превышающих 100.
 
Выходные данные
Необходимо вывести все элементы массива в обртаном порядке.
 
 
Примеры
Входные данные Выходные данные
1 5
1 1 3 4 6
6 4 3 1 1

У Пети есть последовательность A неотрицательных целых чисел длины n. Числа в последовательности пронумерованы, начиная с нуля. Петя считает последовательность счастливой, если четность каждого элемента последовательности совпадает с четностью номера данного элемента. Формально это означает, что если для всех i (0 <= i <= n - 1) выполнено равенство i mod 2 = a[i] mod 2, где x mod 2 - остаток от деления x на 2, то последовательность является счастливой.

Петя хочет сделать свою последовательность счастливой, для этого он берет любые два элемента и меняет их местами (элементы не обязательно соседние). Помогите найти Пете минимальное количество ходов, за которое он сможет сделать свою последовательность счастливой. Если у Пети не получится сделать последовательность счастливой, выведите -1.


Входные данные

Программа получает на вход в первой строке целое число n (1 <= n <= 40) — размер последовательности A. Далее следует строка, содержащая n целых чисел a0,a1,…,an−1 (0 <= ai <= 1000) — целые неотрицательные числа последовательности.


Выходные данные

Для каждого набора тестовых данных выведите одно целое число — минимальное количество ходов, за которое можно сделать заданную последовательность A счастливой, или -1, если это сделать невозможно.
 

Примеры
Входные данные Выходные данные
1
4
3 2 7 6
2
2
1
7
-1
3
7
4 9 2 1 18 3 0
0

В детском саду Солнышко на Праздник Осени у всех детей должно быть по одинаковому числу воздушных шариков. Воспитательница Анна Николаевна узнала, сколько воздушных шариков сможет принести из дома каждый ребенок на праздник.  Чтобы уравнять количество шариков у всех детей, родительский комитет решил закупить необходимое число воздушных шариков.

Всего в группе у Анны Николаевны n воспитанников, количество имеющихся воздушных шариков у каждого каждого ребенка равно ai.

Вы - казначей родительского комитета, которому необходимо посчитать минимальное количество воздушных шариков, которое необходимо закупить, чтобы уравнять их число у каждого ребенка.

Будем считать, что воздушные шарики, имеющиеся у детей, не лопнут до конца праздника.

 

Входные данные

В первой строке входных данных содержится целое число n (1 <= n <= 100) — количество воспитанников в группе у Анны Николаевны.

Во второй строке содержатся n чисел a1,a2, ..., an, где ai (0 <= ai <= 106) — количество воздушных шариков, которое i-й ребенок сможет принести из дома.

 

Выходные данные

В единственную строку выходных данных выведите выведите целое число — минимальное количество воздушных шариков, которое которое необходимо закупить.

 
Примеры
Входные данные Выходные данные
1 5
0 1 2 3 4
10
2 5
1 1 0 1 1
1
3 3
1 3 1
4
4 1
12
0

Алиса оставила для своего отца профессора Селезнева секретную последовательность a[1..n]. Чтобы ее не прятать, она решила написать ее на самом видном месте, но в другом порядке следования чисел. Профессор Селезнев знает, что Алиса переписала секретную последовательность в следующем виде:

  • первым числом слева записано число a1;
  •  первым числом справа записано число a2;
  • вторым числом слева (после a1) записано число a3;
  • вторым числом справа (то есть перед числом a2) записано число a4;
  • все остальные числа записаны аналогичным образом.

То есть, если бы секретная последовательность была a = [1, 2, 3, 4, 5, 6], то профессор бы увидел следующую последовательность [1, 3, 5, 6, 4, 2]. Профессор Селезнев очень торопился и успел только сохранить в компьютер последовательность, которую увидел. Напишите программу, которая покажет профессору исходную секретную последовательность.



Входные данные
Первая строка содержит размер последовательности n (1 <= n <= 300), записанной Алисой для своего отца. Вторая строка содержит n чисел ai (1 <= ai <= 109) - саму последовательность.

Выходные данные
Выведите исходную последовательность, которую Алиса выписывала для отца.
 
 
Примеры
Входные данные Выходные данные
1

6
1 3 5 6 4 2

1 2 3 4 5 6
2 1
23
23

 

В лунном ресторане Селена подают следующие пять блюд:

Нягао (рисовый пирог): на подачу уходит А минут.
Цзяо (пельмени): на подачу уходит B минут.
Тан (сладкие рисовые шарики): для подачи на стол требуется C минут.
Шиитаке (тушеные грибы): на подачу уходит D минут.
Ханбагу (котлета для гамбургера): на подачу уходит E минут.

Будем считать, что время подачи блюда - это время между размещением заказа и доставкой блюда.

В лунном ресторане действуют следующие правила в отношении заказов:
  • Заказ может быть размещен только в момент времени, кратный 10 минутам (0, 10, 20, ... минут). 
  • Одновременно можно заказать только одно блюдо.
  • Новый заказ не может быть размещен, если еще не доставлено блюдо предыдущего заказа. Но новый заказ может быть размещен точно в то время, когда доставлено блюдо из предыдущего заказа.

Громозека прибыл в этот ресторан в 0 минут. Он желает заказать все пять блюд. Определите через какое минимальное количество минут будет доставлено последнее блюдо. Громозека может заказать блюда в любом порядке, который ему нравится, и он может сделать заказ уже в момент 0 минут. Время на Луне отсчитывается только в минутах.

Входные данные
Программа получает на вход 5 целых чисел А, B, C, D, E (1 <= A, B, C, D, E <= 123). Каждое число в отдельной строке.

Выходные данные
Выведите на экран целое число - ответ на задачу.
 
Примеры
Входные данные Выходные данные Примечание
1 29
20
7
35
120

215

Если мы решим заказать блюда в порядке Нягао, Цзяо, Тан, Хангбау, Шиитаке, то максимально раннее время для каждого заказа будет следующим:

Закажите Нягао в 0 минут, который будет доставлен через 29 минут. Текущий момент времени будет 29 минут.
Закажите Цзяо в 30 минут, которое будет в момент 50 минут . 
Закажите Тан в момент 50 минут, который будет доставлен в момент 57 минут.
Закажите Ханбагу в момент 60, который будет доставлен в момент 180 минут.
Закажите Шиитаке в 180 минут, который будет доставлен в момент 215 минут.
Невозможно заказать блюда другим способом так, чтобы последнее блюдо было бы доставлено раньше, чем указанное в примере.
На третью планету от Солнца отправили n космических кораблей для сбора различных объектов для изучения. На каждом корабле было размещено по m контейнеров различного объема. После изучения планеты, отобрано n·m экземпляров. Командный состав решил взять несколько экземпляров самого большого объема. Необходимо определить какой объем должен иметь самый большой экземпляр, чтобы его можно было вывезти с планеты, а также количество кораблей и их номера, на которые можно поместить самые большие экземпляры. Все корабли пронумерованы, начиная с нуля.

Входные данные
Первая строка содержит два целых числа n и m: n - количество кораблей, отправленных на третью планету (1 <= n <= 100), m - количество контейнеров на каждом корабле. В следующих n строках содержат по m чисел, каждое из которых показывает объем контейнера (1 <= m <= 100, каждое число - неотрицательное не более 100). 

Выходные данные
Выведите в первой строке - количество космических кораблей, которыми можно привезти самый большой экземпляр, через пробел максимальный объем, который можно вывезти с планеты. На следующей строке выведите через пробел номера кораблей (нумеруются с нуля), на которые можно загрузить самый большой экземпляр.
 
Примеры
Входные данные Выходные данные
1
3 3
1 2 3
3 5 4
5 2 2
2 5
1 2
С востока на запад простираются горы, а на западе - океан. На вершине каждой горы есть отель. Вы хотите выбрать, в каком отеле остановиться. Высота i-й горы с запада равна Hi. Вы, конечно, можете увидеть океан из отеля, который расположен на вершине самой западной горы. Для отеля на вершине i-й горы с запада (i = 2, 3, ..., N) вы сможете увидеть океан тогда и только тогда, когда H1<=HiH2<=Hi, ... и Hi-1<=Hi. Посчитайте, со скольких из этих отелей вы сможете увидеть океан?

Входные данные
В первой строке записано натуральное число N (1 <= N <= 20) - количество гор. Вторая строка содержит N чисел Hi (1 <= Hi <= 100) высоты гор, начиная с самой западной (первой).


Выходные данные
Выведите количество отелей, из которых вы сможете увидеть океан.
 
 
Примеры
Входные данные Выходные данные
1
4
6 5 6 8
3
2
5
4 5 3 5 4
3
3
5
9 5 6 8 4
1
Последовательность состоит из натуральных чисел и завершается числом 0. Определите, какое количество элементов этой последовательности, равны ее наибольшему элементу.

Входные данные
Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1 5
4
8
8
8
0
3
Поделиться
Класснуть