Агрегации по массиву и по оси: sum, mean, min, max, argmin, argmax
Содержание курса
Min-max нормализация матрицы и позиции глобальных экстремумов
Что уже дано
Проверяющая система запускает вашу программу и подаёт данные через stdin. Никаких заранее созданных переменных нет — вы читаете всё сами.
Что нужно сделать
Напишите программу, которая выполняет глобальную min-max нормализацию двумерного массива:
- Читает из
stdinдва целых числаRиC— количество строк и столбцов. - Читает следующие
Rстрок; каждая содержитCцелых чисел через пробел. Создаёт двумерный массивarrчерезnp.array(..., dtype=float)формы(R, C). - Вычисляет скалярный глобальный минимум
g_min = np.min(arr)и скалярный глобальный максимумg_max = np.max(arr)без параметраaxis. - Вычисляет нормализованный массив
normedпо формуле поэлементной арифметики:
normed = (arr - g_min) / (g_max - g_min)
Гарантируется, что все элементы матрицы не одинаковы, поэтому g_max - g_min > 0.
5. Вычисляет глобальный flat_argmin = np.argmin(arr) и flat_argmax = np.argmax(arr) без параметра axis — позиции в развёрнутом (flattened) массиве.
6. Выводит в stdout ровно три блока:
Блок 1. Нормализованный массив normed: каждая строка массива выводится на отдельной строке, значения через пробел, округлённые до 4 знаков после запятой (round(x, 4) для каждого элемента).
Блок 2. Одна строка: g_min g_max — глобальный минимум и максимум исходного массива (целые числа, без дробной части).
Блок 3. Одна строка: flat_argmin flat_argmax — позиции экстремумов в развёрнутом массиве.
Ввод и вывод
Программа читает stdin и пишет в stdout.
Формат ввода
R C
a00 a01 ... a0(C-1)
...
a(R-1)0 ... a(R-1)(C-1)
Формат вывода
normed[0][0] normed[0][1] ... normed[0][C-1]
...
normed[R-1][0] ... normed[R-1][C-1]
g_min g_max
flat_argmin flat_argmax
Всего R + 2 строк. Значения normed округлены до 4 знаков после запятой. g_min и g_max — целые числа (без дробной части). flat_argmin и flat_argmax — целые числа.
О данных в ответах
Используйте учебные данные. Не вставляйте пароли, токены, ключи доступа, паспортные и банковские данные, а также персональные данные других людей. Политика обработки данных.
- Тест 1Ввод
3 3 3 1 4 1 5 9 2 6 5
Ожидаемый вывод0.25 0.0 0.375 0.0 0.5 1.0 0.125 0.625 0.5 1 9 1 5
Как проверяется решение
Сравнение вывода: Правила исходной проверяющей системы. Интерактивный запуск не влияет на оценку. Лимит сессии — 5 минут, процессорного времени — 10 секунд.
Отправьте решение, чтобы увидеть результаты тестов.
