JustCaptain kod-buduschego

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

JustCaptain · 2 недели назад bd4b9bff90d440798790be6f4a2d484bc7890ce9
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)