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

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

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

Скалярные элементы: значения и shape по целочисленным индексам

Что уже дано

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

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

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

  1. Читает из stdin одну строку с четырьмя целыми числами: R, C, i, j.
  2. Создаёт двумерный массив arr через np.arange(R * C).reshape(R, C).
  3. Вычисляет три выражения:
  • e1 = arr[i, j] — элемент строки i, столбца j;
  • e2 = arr[-1, -1] — элемент последней строки, последнего столбца;
  • e3 = arr[0, -1] — элемент первой строки, последнего столбца.
  1. Выводит в stdout три строки в формате:
<значение> <shape>

где shape — строковое представление атрибута .shape каждого результата (пустой кортеж () для скаляров).

Целочисленный индекс по каждой оси убирает эту ось. Если индексов столько же, сколько осей, результат — NumPy-скаляр с shape = ().

Ввод и вывод

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

Формат ввода

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

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

Три строки — по одной для каждого из e1, e2, e3 — в формате <значение> <shape>. Пример строки: 6 ().

О данных в ответах

Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.

Проверяется тестами (1)
  • Тест 1
    Ввод
    3 4 1 2
    Ожидаемый вывод
    6 ()
    11 ()
    3 ()
Решение
Как проверяется решение

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

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