1. Главная
  2. Библиотека
  3. Высшая математика
  4. Вам дан двумерный массив размером m×n с положительными...
Разбор задачи

Вам дан двумерный массив размером m×n с положительными целыми числами. Пройдите по массиву змееобразным способом в направлении, показанном на картинке, пропуская каждую вторую ячейку. Верните массив с посещёнными значениями в порядке обхода. Проходить

  • Предмет: Высшая математика
  • Автор: Кэмп
  • #Численные методы
  • #Вычислительная математика
Вам дан двумерный массив размером m×n с положительными целыми числами. Пройдите по массиву змееобразным способом в направлении, показанном на картинке, пропуская каждую вторую ячейку. Верните массив с посещёнными значениями в порядке обхода. Проходить

Условие:

Вам дан двумерный массив размером m×n с положительными целыми числами. Пройдите по массиву змееобразным способом в направлении, показанном на картинке, пропуская каждую вторую ячейку. Верните массив с посещёнными значениями в порядке обхода. Проходить нужно зигзагом по диагонали.

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

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

В первой строке вводятся два целых числа m и n (1≤m,n≤100) — количество строк и столбцов матрицы.

Далее следуют m строк, каждая из которых содержит n целых положительных чисел, разделённых пробелами — элементы матрицы.

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

Одномерный массив из посещённых значений.
\nSample Input:

1 1
1\nSample Output:

[1]

Решение:

Ниже приведено пошаговое рассуждение и готовое решение на языке Python на русском языке. Идея такая: нам дан массив размером m×n. Нужно обойти его по диагоналям (так называемый “зигзаг”) – то есть все ячейки с одинаковой суммой индексов образуют диагональ. При этом требуется брать только каждую вторую диагональ, начиная с первой (индекс 0). В примере 3×3 диагонали имеют следующие индексы:

Диагональ d=0 (сумма i+j=0): содержит только ячейку (0,0) → значение 1. Мы её берём.
Диагональ d=1 (i+j=1): ячейки (0,1) и (1,0). Пропускаем эту диагональ.
Диагональ d=2 (i+j=2): я...

Внутри — полный разбор, аргументация, алгоритм решения, частые ошибки и как отвечать на каверзные вопросы препода, если спросит

Попробуй решить по шагам

Попробуй один шаг и продолжи в режиме обучения или посмотри готовое решение

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

Что нужно знать по теме:

Что нужно знать по теме

Алгоритм решения

Топ 3 ошибок

Что спросит препод

Выбери предмет