Массивы

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

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

Формат входных данных

Одна строка — слова через пробел (от 1 до 20 слов).

Формат выходных данных

Одна строка — слова с длиной больше 3 через пробел. Если таких слов нет, выведите пустую строку.

Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести среднее арифметическое всех элементов матрицы с точностью до 2 знаков после запятой.
Создадим эффект старой 8-битной графики! Разделим фото на блоки k×k и каждый блок заменим на один пиксель со средней яркостью. Программа получает на вход размеры фото n и m (оба делятся на k нацело), затем n строк по m чисел - пиксели, затем размер блока k. Программа должна вывести "пикселизированное" изображение: (n/k) строк по (m/k) чисел. Каждое число - это среднее арифметическое блока k×k из исходного изображения, округлённое вниз.
Дан массив из N элементов (N<=100) 
Напишите программу, которая осуществляет циклический сдвиг влево элементов, стоящих на нечетных местах (нумерация элементов начинается с 0).

Входные данные
В первой строке вводится значение N. Далее во второй строке, вводится N чисел

Выходные данные
Вывести все элементы преобразованного массива.

 
Примеры
Входные данные Выходные данные
1
6
1 2 3 4 5 6
1 4 3 6 5 2
Ромб#50344

На клетчатом поле размера \(n \times n\), где \(n = 2k+1\) — нечетное число, необходимо изобразить ромб.

Центром поля будем называть клетку \((k + 1, k + 1)\). Расстояние между двумя клетками \((x_1, y_1)\) и \((x_2, y_2)\) будем называть величину \(|x_1 - x_2| + |y_1 - y_2|\).

Ромб с параметрами \((a, b)\) — это множество клеток, расстояние от которых до центра лежит в диапазоне от \(a\) до \(b\), включительно.

По заданным \(n\), \(a\) и \(b\) изобразите ромб.

Формат входных данных
На первой строке ввода находится целое число \(n\) (\(1 \le n \le 201\), \(n\) нечетно).

На второй строке ввода находится целое число \(a\). На третьей строке ввода находится целое число \(b\) (\(0 \le a \le b\), если \(k\) таково, что \(n = 2k+1\), то \(b \le k + 1\)).

Формат выходных данных
Выведите \(n\) строк по \(n\) символов. Клетка ромба обозначается символом <<*>>, клетка, не лежащая в ромбе, обозначается символом <<.>>.

В двумерном массиве NxM замените значения всех четных элементов массива на значение A

Формат входных данных

В первой строке вводятся через пробел количество строк N (1<=N<=20) и количество столбцов M (1<=M<=20) двумерного массива. Далее идет N строк по M элементов в строке - элементы двумерного массива. Все элементы двумерного массива по модулю не превышают  50. В N+1 строке записано число A (100<=A<=200)


Формат выходных данных
Выведите измененный двумерный массив на экран. Элементы в строке должны разделяться одним пробелом.
 
В двумерном массиве NxM замените значение элемента, расположенного на пересечении строки n1 и столбца m1, на значение A. Нумерация строк и столбцов начинается с 1.

Формат входных данных
В первой строке вводятся через пробел количество строк N (1<=N<=20) и количество столбцов M (1<=M<=20) двумерного массива. Далее идет N строк по M элементов в строке - элементы двумерного массива. Все элементы двумерного массива по модулю не превышают  50. В N+1 строке идут два числа n1, m1 (1<=n1<=N, 1<=m1<=M). В N+2 строке записано число A

Формат выходных данных
Выведите измененный двумерный массив на экран. Элементы в строке должны разделяться одним пробелом.
 
В числовом массиве из N чисел переставьте местами элемент с индексом first с элементом, который имеет максимальное значение. Если максимальных элементов несколько, то необходимо взять последний из них (максимальный элемент с большим индексом). Индексация элементов начинается с 0.

Входные данные
В первой строке записаны через пробел два числа N - количество элементов одномерного массива и число first. Во второй строке записаны N чисел numsi - элементы массива.

Ограничения
1 <= N <= 105
-109 <= numsi <= 109
0 <= first < N


Выходные данные
Выведите в одну строку измененный массив, разделяя элементы одним пробелом.
 
 
Примеры
Входные данные Выходные данные
1
5 2
1 -2 -1 2 -2
1 -2 2 -1 -2
Дан двумерный массив A размерностью NxM. Напишите программу, которая определяет сумму всех элементов матрицы, а также какую долю в этой сумме составляет сумма элементов каждого столбца.

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

Выходные данные
В первой строке выведите сумму всех элементов матрицы. 
Во второй строке выведите M чисел через пробел - долю, которую составляет сумма элементов каждого столбца в общей сумме. Долю выводить с округлением до ближайшего целого числа, не большего доли. Первое число в строке - доля в общей сумме элементов первого столбца, второе число - доля в сумме элементов второго столбца и т.д. (нумерация столбцов с 1).
 
 
Примеры
Входные данные Выходные данные
1 4 4
1 2 3 4 
4 3 2 1
2 1 4 3
3 4 1 2
40
25 25 25 25

Шахматный конь, расположенный в центре доски держит под ударом 8 полей. В углу только лишь 2 поля.
Вам задано расположение коня на шахматной доске. Выведите на экран шахматную доску, с расположенным на ней конем, а также отметьте все поля, которые конь держит под ударом. Поле, где расположен конь, отметьте английской буквой «K». Поля, которые он держит под ударом, отметьте символами «*». Остальные клетки заполните точками.


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

Программа получает на вход два числа - координаты коня на шахматной доске (доска размером 8х8). Координаты вводятся на одной строке через пробел. Первое число обозначает номер строки, а второе — номер столбца. Все числа принимают значения от 1 до 8.


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

Выведите на экран изображение доски так, как это показано в примере. Обратите внимание, что символы в одной строке разделены пробелом.

 
Примеры
Входные данные Выходные данные
1
4 5
. . . . . . . . 
. . . * . * . . 
. . * . . . * . 
. . . . K . . . 
. . * . . . * . 
. . . * . * . . 
. . . . . . . . 
. . . . . . . . 

Даны две целочисленные последовательности, каждая из которых имеет длину NA = (A1, A2, ..., AN) и B = (B1, B2, ..., BN).
Все элементы A различны. Все элементы B тоже разные.

Выведите следующие два значения.

  1. Количество целых чисел, содержащихся в обоих и B, появляющихся в одной и той же позиции в двух последовательностях. Другими словами, количество целых i чисел такое, что A= Bi.
  2. Количество целых чисел, содержащихся в обоих и B, появляющихся в разных позициях в двух последовательностях. Другими словами, количество пар целых (i, j) чисел, таких, что A= Bи i ≠ j.


Входные данные
Программа получает на вход три строки. В первой строке записано одно число N (1 <= N <= 1000) - количество чисел последовательности. Во второй строке записаны числа A1, A2, ..., AN, все числа различные. В третьей строке - числа B1, B2, ..., B, все числа различные (1 <= Ai, Bi <= 109). 

Выходные данные
Выведите в первой строке ответ на первый вопрос, во второй строке - на второй.
 
 
Примеры
Входные данные Выходные данные
1
4
1 3 5 2
2 3 1 4
1
2 
2
3
1 2 3
4 5 6
0
0

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


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

Сначала задано число N - количество элементов в массиве (1 <= N <= 100). Далее через пробел записаны N чисел - элементы массива. Массив состоит из целых чисел, находящихся в пределах от -231 до 231


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

Необходимо вывести единственное число - количество различных чисел в массиве.

 
Примеры
Входные данные Выходные данные
1 5
1 1 1 2 2
2

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


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

Сначала задано число N - количество элементов в массиве (1 <= N <= 10000). Далее через пробел записаны N чисел - элементы массива. Массив состоит из целых чисел.


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

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

 
Примеры
Входные данные Выходные данные
1
5
1 2 3 4 5
0
2
5
2 3 2 4 3
2
В колоде у Громозеки находятся карты, на которых написано по одному целому числу. Каждое число в колоде встречается ровно 4 раза. 
Таким образом, в колоде имеются 4 карты с числом 1, 4 карты с числом 2, ..., 4 карты с числом N. Всего в колоде 4*N карт.

Громозека перетасовал эти карты, а затем спрятал одну из них и дал вам стопку оставшихся 4*N-1 карт. На i-й карте (1<= i <=4*N−1) из стопки написано целое число Ai.

Найдите целое число, записанное на карте, которую спрятал Громозека.

Входные данные
Программа получает на вход две строки. Первая строка содержит целое число N (1 <= N <= 105).  Вторая строка содержит 4*N-1 целых чисел Ai (1 <= Ai <= 4*N−1. 1<= i <=4*N−1). Для каждого (1<=k<=N) существует не более 4 индексов i, таких, что Ai=k.


Выходные данные
Выведите ответ на задачу.
 
 
Примеры
Входные данные Выходные данные
1 3
1 3 2 3 3 2 2 1 1 1 2
3
2 1
1 1 1
1
3 4
3 2 1 1 2 4 4 4 4 3 1 3 2 1 3
2
Есть N частей некоторого исходного кода. Характеристики i-й части кода представлены M целыми числами Ai1, Ai2, ..., AiM . Вам даны целые числа B1, B2, ..., BM и C.
i-я часть кода правильно решает задачу тогда и только тогда, когда \( A_{i1}\cdot B_1 + A_{i2}\cdot B_2 + ...+ A_{iM}\cdot B_M +C>0\).
Среди N частей исходного кода найдите количество, которые правильно решают эту задачу.

Входные данные
В первой строке заданы три числа через пробел: N, M (1 <= N, M <= 20) и C (-100 <= C <= 100). Во второй строке задано  M чисел Bi (-100 <= B<= 100). Каждая из следующих N строк содержит чисел Ai (-100 <= Aij <= 100, 1 <= i <= N, 1 <= j <= M).

Выходные данные
Выведите одно число - ответ на задачу.
 
Примеры
Входные данные Выходные данные
1 2 3 -10
1 2 3
3 2 1
1 2 2
1
2 5 2 -4
-2 5
100 41
100 40
-3 0
-6 -2
18 -13
2
3 3 3 0
100 -100 0
0 100 100
100 100 100
-100 100 100
0
Недавно Вася решил всерьез заняться машинным обучением и распознаванием образов. Однако, наука это обширная, а начинать с чего-то надо, поэтому его учитель информатики посоветовал ему начать с анализа ASCII рисунков.
Он дал Васе рисунок ASCII-графика, который выглядит следующим образом: он представляет собой прямоугольник n × m, состоящий из символов «*» и «.». Левая верхняя клетка прямоугольника считается началом координат — точкой (0, 0), верхняя строка таблицы — осью OX, направленной слева направо, а левый столбец — осью OY, направленной сверху вниз. Таким образом, клетка (x, y) таблицы отвечает за точку (x, y) на графике функции, и если в этой клетке таблицы стоит «*», то f(x) = y, а противном случае в клетке таблицы стоит «.». Гарантируется, что функция, график которой дан Васе, непрерывна и однозначно определена на всем промежутке, то есть:
В каждом столбце таблицы стоит ровно один символ «*»;
В соседних столбцах символы «*» находятся либо в соседних по стороне, либо в соседних по углу клетках.
Для начала, чтобы проанализировать этот график, Вася хочет найти количество локальных максимумов в нем, то есть таких x, что f(x - 1) < f(x) > f(x + 1) (если одно из значений f(x - 1) или f(x + 1) не определено, счиается, что неравенство выполняется).
Входные данные
В первой строке входного находятся два натуральных числа n и m — количество строк и количество столбцов в таблице соответственно (1 ≤ n, m ≤ 100).
В каждой из следующих n строк содержится строка из m символов — описание таблицы. Гарантируется, что таблица представляет собой график функции, описанной в условии.
Выходные данные
В единственной строке выведите одно число — количество локальных максимумов в
данном графике функции.
 
Ввод Вывод
3 7
*.*...*
.*.*.*.
....*..
 
2
3 5
.....
****.
....*
1

Заполните двоичную матрицу (состоящую только из нулей и единиц) в шахматном порядке. В левом верхнем углу должен быть нулевой элемент.

Входные данные: во входной строке записаны через пробел размеры матрицы: количество строк и количество столбцов ( 1 <= M <= 100 ).

Выходные данные: программа должна вывести двоичную матрицу по строкам.

Пример.
Входные данные Выходные данные
1 4 5 0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1

Напишите программу, которая выводит на экран транспонированную матрицу. Транспонирование матрицы - это преобразование, в результате которого строки становятся столбцами, а столбцы – строками. Саму матрицу изменять не нужно. Достаточно вывести ее в нужном виде.

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

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

Пример.
Входные данные Выходные данные
1 4 5
1 2 3 4 5
6 7 8 9 3
5 4 3 2 1
7 9 8 7 6
1 6 5 7
2 7 4 9
3 8 3 8
4 9 2 7
5 3 1 6
На вход подается число N - количество элементов массива. 
Далее идут два массива из N целых чисел каждый: элементы первого массива идут по одному в каждой строке, элементы второго массива - записаны все в одной строке через пробел.
Заполните два массива и выведите их элементы через пробел в одну строку: первый массив в первой строке, второй массив во второй строке.

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

Напишите программу, которая вычисляет сумму элементов матрицы.

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

Выходные данные
Программа должна вывести одно число – сумму элементов матрицы.


Примеры
Входные данные Выходные данные
1 4 5
1 2 3 4 5
6 12 8 9 10
11 12 12 14 15
16 17 18 12 20
207
Поделиться
Класснуть