NumPy: массивы, форма и индексация

Базовая индексация: элементы, строки, столбцы и срезы

Содержание курса

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

Что уже дано

Проверяющая система запускает вашу программу и подаёт данные через 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)
  • Тест 1
    Ввод
    4 6 2 3
    Ожидаемый вывод
    0
    23
    (2, 2)
    (2, 2)
    (2, 2)
Решение
Как проверяется решение

Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.

Отправьте решение, чтобы увидеть результаты тестов.