Задача курса

Срезы NumPy с шагом: задача на двумерный массив

Курс «NumPy и pandas: практический тренажёр» · урок «Базовая индексация: элементы, строки, столбцы и срезы»

Закрепите синтаксис срезов по строкам и столбцам на задаче с двумерным массивом.

Условие

Значения через срезы с шагом и угловые элементы двумерного массива

Что уже дано

Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.

Что нужно сделать

Напишите программу, которая:

  1. Читает из stdin одну строку с четырьмя целыми числами: R, C, sr, sc — число строк, столбцов и шаги среза по строкам и столбцам.
  2. Создаёт двумерный массив arr через np.arange(R * C).reshape(R, C).
  3. Вычисляет и выводит в stdout пять строк в указанном порядке:
  • Строка 1: значение элемента arr[0, 0] (верхний левый угол).
  • Строка 2: значение элемента arr[-1, -1] (нижний правый угол) — через отрицательные индексы.
  • Строка 3: shape среза arr[::sr, ::sc] — каждая sr-я строка и каждый sc-й столбец.
  • Строка 4: shape среза arr[1::sr, 1::sc] — то же, но начиная с позиции 1 по каждой оси.
  • Строка 5: shape среза arr[0:R:sr, -1:-(C+1):-sc] — строки с шагом sr, столбцы в обратном порядке с шагом sc.

Shape выводите строго в формате Python: (r, c) для двумерных.

Ввод и вывод

Программа читает stdin и пишет в stdout.

Формат ввода

Одна строка: четыре целых числа R C sr sc, разделённые пробелами. Гарантируется: 2 <= R, C <= 20, 1 <= sr <= R, 1 <= sc <= C.

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

Пять строк: первые две — целые числа (значения элементов), последние три — shape в формате Python.

Примеры

Пример 1

Ввод
4 6 2 3
Ожидаемый результат
0
23
(2, 2)
(2, 2)
(2, 2)

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

РешениеPython
Без регистрации · результат не сохраняется