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

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

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

Срезы двумерного массива: shape на каждом шаге

Что уже дано

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

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

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

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

Garантируется: 1 <= p <= R, 0 <= q < C.

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

Ввод и вывод

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

Формат ввода

Одна строка: четыре целых числа R C p q, разделённые пробелами.

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

Пять строк — shape каждого из пяти результатов в порядке, описанном выше.

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

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

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

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

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