NumPy: вычисления и устройство массивов

Объединение массивов: concatenate и stack

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

np.concatenate по двум осям: предсказание и проверка shape

Что уже дано

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

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

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

  1. Читает из stdin четыре целых числа в одной строке: R, C, R2, C2.
  2. Создаёт два двумерных массива:
  • a = np.arange(R * C).reshape(R, C) — shape (R, C);
  • b = np.arange(R2 * C2).reshape(R2, C2) — shape (R2, C2).
  1. Если C == C2 — выполняет r0 = np.concatenate([a, b], axis=0) и выводит shape r0 в одну строку.
  2. Если R == R2 — выполняет r1 = np.concatenate([a, b], axis=1) и выводит shape r1 в следующую строку.
  3. Гарантируется, что выполнимо хотя бы одно условие; оба могут быть выполнимы одновременно — тогда выводятся обе строки в указанном порядке.

Каждую строку выводите в виде Python-кортежа, например (4, 3).

Ввод и вывод

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

Формат ввода

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

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

Одна или две строки. Если C == C2 — первой строкой shape результата np.concatenate([a, b], axis=0). Если R == R2 — следующей строкой shape результата np.concatenate([a, b], axis=1). Каждый shape — в виде Python-кортежа.

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

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

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

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

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