JustCaptain kod-buduschego

Добавить задачи по двумерным массивам — Intern #4

Слито JustCaptain слил(а) llm/intern-0a6a46 → main · a8f57e3
1 файл изменён +89

Войди, чтобы оставлять замечания к строкам.

Показать разницуСкрыть разницу
@@ -0,0 +1,89 @@
1 +# 🟢 Intern — двумерные массивы
2 +
3 +Четыре авторские задачи на индексы строк и столбцов, обход матрицы и оценку дополнительной памяти.
4 +
5 +## 1. Итоги по классам
6 +
7 +В таблице записаны баллы учеников: строки — ученики, столбцы — контрольные. Найдите сумму баллов каждого ученика.
8 +
9 +**Ввод:** `R C` (`1 ≤ R,C ≤ 1000`), затем матрица целых чисел от `0` до `100`.
10 +
11 +**Вывод:** `R` сумм в порядке учеников.
12 +
13 +**Пример:**
14 +'''text
15 +2 3
16 +10 20 30
17 +5 5 5
18 +'''
19 +'''text
20 +60 15
21 +'''
22 +
23 +**Требование:** время `O(R*C)`, дополнительная память `O(1)` помимо матрицы. Можно обрабатывать матрицу по строкам.
24 +
25 +## 2. Самая высокая точка
26 +
27 +На карте высот дана матрица. Найдите максимальную высоту и координаты клетки. Если максимум встречается несколько раз, выберите клетку с наименьшим номером строки, а затем столбца. Координаты в ответе начинаются с единицы.
28 +
29 +**Ввод:** `R C` (`1 ≤ R,C ≤ 1000`), затем `R*C` целых чисел.
30 +
31 +**Вывод:** высота, номер строки и номер столбца.
32 +
33 +**Пример:**
34 +'''text
35 +2 3
36 +4 9 2
37 +9 1 7
38 +'''
39 +'''text
40 +9 1 2
41 +'''
42 +
43 +**Требование:** один проход по матрице, `O(1)` дополнительной памяти.
44 +
45 +## 3. Соседи клетки
46 +
47 +Клетки игрового поля бывают свободными (`.`) и занятыми (`#`). Для каждой клетки выведите количество занятых соседей по стороне: сверху, снизу, слева и справа.
48 +
49 +**Ввод:** `R C` (`1 ≤ R,C ≤ 500`), затем `R` строк длины `C` из `.` и `#`.
50 +
51 +**Вывод:** матрица чисел, в каждой строке `C` чисел.
52 +
53 +**Пример:**
54 +'''text
55 +2 3
56 +.#.
57 +###
58 +'''
59 +'''text
60 +1 3 1
61 +1 2 1
62 +'''
63 +
64 +**Требование:** время `O(R*C)`. Проверяйте границы каждого соседа. Результат разрешено хранить в отдельной матрице.
65 +
66 +## 4. Рамка фотографии
67 +
68 +Дана прямоугольная таблица пикселей. Выведите сумму значений на границе матрицы. Угловые клетки учитываются ровно один раз. Если матрица состоит из одной строки или одного столбца, все клетки относятся к границе.
69 +
70 +**Ввод:** `R C` (`1 ≤ R,C ≤ 2000`), затем матрица `a[r][c]` (`|a[r][c]| ≤ 10^6`).
71 +
72 +**Вывод:** сумма значений границы.
73 +
74 +**Пример:**
75 +'''text
76 +3 4
77 +1 2 3 4
78 +5 6 7 8
79 +9 10 11 12
80 +'''
81 +'''text
82 +65
83 +'''
84 +
85 +**Требование:** используйте `long long` для суммы и `O(1)` дополнительной памяти помимо входной матрицы.
86 +
87 +---
88 +
89 +[⬅️ К материалу по двумерным массивам](README.md)