Merge branch 'llm/intern-0a6a46' into 'main'
Родитель:
fd53ca5
· сравнить с родителем
1 файл
-
Показать разницуСкрыть разницу
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)