матрицы

12 задач
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Космическая станция «Орион» принимает сигналы от спутников-разведчиков. Приёмная матрица станции имеет размер 640 строк на 480 позиций. При получении каждого сигнала в журнал записываются координаты активированного элемента матрицы: номер строки и номер позиции в строке.

Элемент матрицы, который принял хотя бы один сигнал, считается активным. Элемент, который не принял ни одного сигнала, считается неактивным.

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

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


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

В первой строке записано целое число N — количество принятых сигналов (1 ≤ N ≤ 10000).

В каждой из следующих N строк записаны по два числа через пробел:
- номер строки (целое число от 1 до 640)
- номер позиции в строке (целое число от 1 до 480)

Один и тот же элемент матрицы может получить несколько сигналов (координаты могут повторяться).

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

Два целых числа через пробел: наибольшая длина цепочки активных элементов и номер строки, в которой она находится.
 
В новом датацентре «Кибер-Облако» серверы размещаются в стойках, которые расположены рядами. Ряды пронумерованы натуральными числами. Слоты в каждом ряду также пронумерованы натуральными числами начиная с единицы.

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

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

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

Гарантируется, что существует хотя бы один ряд, удовлетворяющий условию.

Формат входных данных
В первой строке находится число N — количество установленных серверов (натуральное число, не превышающее 20000).

Каждая из следующих N строк содержит два натуральных числа, не превышающих 10000:
- номер ряда
- номер слота в этом ряду

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

Два целых числа через пробел: наибольший номер ряда и наименьший номер слота в выбранной последовательности из 25 свободных мест.
 
Ваш друг отправил смешную картинку, но она перевёрнута! Нужно повернуть её на 90 градусов по часовой стрелке. Программа получает на вход размер квадратной картинки n, затем n строк по n чисел - пиксели картинки. Программа должна вывести повёрнутую на 90° по часовой стрелке картинку: n строк по n чисел. При повороте элемент из позиции [i][j] переходит в позицию [j][n-1-i]. Подсказка: первая строка становится последним столбцом!
В магазине игрушек ведут учёт продаж. Строки — дни, столбцы — категории игрушек. Найдите разницу между максимальной и минимальной суммой по столбцам (чтобы понять, какие категории продаются неравномерно). Плюшевые мишки рулят! 🧸
Формат входных данных: Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100) — количество дней и категорий. Следующие n строк содержат по m целых неотрицательных чисел — количество проданных игрушек.
Формат выходных данных: Одно целое число — разница между максимальной и минимальной суммой столбцов.

Дана матрица A размером 3×3:

3  7  2
5  1  8
4  9  6

Выполняется алгоритм по блок-схеме:

     

Какое число будет выведено больше всего раз?

  1. 0
  2. 1
  3. 2
  4. Все числа выведены одинаково

Дана пустая матрица B размером 4×4. Переменная k изначально равна 1.  

C++ Python
int k = 1;
for (int i = 0; i < 4; i++) {
    if (i % 2 == 0)
        for (int j = 0; j < 4; j++)
            { B[i][j] = k; k++; }
    else
        for (int j = 3; j >= 0; j--)
            { B[i][j] = k; k++; }
}
k = 1
for i in range(4):
    if i % 2 == 0:
        for j in range(4):
             B[i][j] = k; k += 1
    else:
        for j in range(3, -1, -1):
             B[i][j] = k; k += 1
Pascal Алгоритмический язык
k := 1;
for i := 0 to 3 do
    if i mod 2 = 0 then
        for j := 0 to 3 do begin
          B[i][j] := k; k := k+1; end
    else
        for j := 3 downto 0 do begin
            B[i][j] := k; k := k+1; end;
k := 1
нц для i от 0 до 3
  если mod(i,2) = 0 то
    нц для j от 0 до 3
      B[i][j] := k; k := k+1
    кц
  иначе
    нц для j от 3 до 0 шаг -1
      B[i][j] := k; k := k+1
    кц
  всё
кц

Какой будет матрица B после выполнения?

1 2 3 4
1   2   3   4
8   7   6   5
9   10  11  12
16  15  14  13
1   2   3   4
5   6   7   8
9   10  11  12
13  14  15  16
4   3   2   1
5   6   7   8
12  11  10  9
13  14  15  16
1   8   9   16
2   7   10  15
3   6   11  14
4   5   12  13

 

 

Дана матрица A размером 3×3:

5  2  8
1  9  3
6  4  7

Выполняется алгоритм:

C++ Python
int m = A[0][0];
for (int i = 0; i < 3; i++)
    for (int j = 0; j < 3; j++)
        if (A[i][j] > m)
            m = A[i][j];
cout << m;
m = A[0][0]
for i in range(3):
    for j in range(3):
        if A[i][j] > m:
            m = A[i][j]
print(m)
Pascal Алгоритмический язык
m := A[0][0];
for i := 0 to 2 do
    for j := 0 to 2 do
        if A[i][j] > m then
            m := A[i][j];
writeln(m);
m := A[0][0]
нц для i от 0 до 2
    нц для j от 0 до 2
        если A[i][j] > m то
            m := A[i][j]
        всё
    кц
кц
вывод m

 

Варианты ответа:

  1. 5
  2. 7
  3. 8
  4. 9

Дана пустая матрица B размером 3×3. Выполняется алгоритм:  

C++ Python
for (int i = 0; i < 3; i++)
    for (int j = 0; j < 3; j++)
        B[i][j] = i + j;
for i in range(3):
    for j in range(3):
        B[i][j] = i + j
Pascal Алгоритмический язык
for i := 0 to 2 do
    for j := 0 to 2 do
        B[i][j] := i + j;
нц для i от 0 до 2
    нц для j от 0 до 2
        B[i][j] := i + j
    кц
кц

Какой будет матрица B после выполнения?

1 2 3 4
0  1  2
1  2  3
2  3  4
0  0  0
1  1  1
2  2  2
1  2  3
2  3  4
3  4  5
0  1  2
0  1  2
0  1  2

Дана матрица A размером 3×3:

1  2  3
4  5  6
7  8  9

Выполняется следующий алгоритм:
 

C++ Python
int s = 0;
for (int i = 0; i < 3; i++)
   s = s + A[i][i];
cout << s;
s = 0
for i in range(3):
    s = s + A[i][i]
print(s)
Pascal Алгоритмический язык
s := 0;
for i := 0 to 2 do
    s := s + A[i][i];
writeln(s);
s := 0
нц для i от 0 до 2
    s := s + A[i][i]
кц
вывод s

Варианты ответа:

  1. 6
  2. 12
  3. 15
  4. 45
Петя написал программу, которая заполняет квадратную матрицу последовательностью натуральных чисел, начиная с N сверху вниз по линиям, параллельным побочной диагонали матрицы от верхнего левого угла. Например, при N=1 первые 10 чисел заполнят матрицу следующим образом:

Матрица имеет неограниченный размер, и заполнены только элементы влево-вверх от побочной диагонали. Индексация элементов матрицы считается от верхнего левого угла, индексированного как (0,0). Первый индекс означает номер строки, а второй – номер столбца. Известно, что элемент с индексом (22, 19) равен 1000. Определите значение N. В ответе укажите целое число
Петя написал программу, которая по заданному числу N строит квадратную матрицу NxN, заполненную последовательно натуральными числами по спирали по часовой стрелке, начиная с верхнего левого угла. Например, для некоторых значений N его программа вывела такие матрицы:
 
N = 4 N = 5
 1  2  3 4
12 13 14 5
11 16 15 6
10  9  8 7
 1  2  3  4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Вася предложил Пете найти такое N, при котором значение предпоследнего элемента на главной диагонали (элемента с индексами (N-1, N-1) при нумерации элементов с (1,1) от верхнего левого угла) будет равно 585. Помогите Пете и запишите в ответ найденное значение N или NULL, если такого значения N не существует.
Петя написал программу, которая по заданному числу N строит квадратную матрицу NxN, заполненную последовательно натуральными числами по спирали по часовой стрелке, начиная с верхнего левого угла. Например, для некоторых значений N его программа вывела такие матрицы:
 
N = 4 N = 5
 1  2  3 4
12 13 14 5
11 16 15 6
10  9  8 7
 1  2  3  4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Вася предложил ввести характеристику R для таких матриц, которая будет равна сумме элементов той строки матрицы, в которой сумма элементов максимальная. Например, для матрицы, построенной при N=4, значение R будет равно 48, а при N=5 – R примет значение 91. При каком значении N получится значение R=10581? В ответе укажите целое число или NULL, если такого значения N не существует.
Поделиться
Класснуть