Файлы и большие данные · тема 8 из 8

Точки, расстояние и выбор центра

Подготовка к геометрическим данным

01 · Пойми идею

Одна идея — один пример

Среднее координат и точка набора с минимальной суммой расстояний — разные определения центра. Второе называется медоидом. Выбирай определение из условия.

from math import hypot
print(int(hypot(3, 4)))

02 · Добавь следующий шаг

Теперь решаем самостоятельно

Начни с одномерного набора: для каждой точки суммируй расстояния до остальных. Это O(n²), поэтому подходит только для небольших данных.

Твоя задача

Вводится строка из 1–30 целых координат точек на прямой. Выбери координату из набора с минимальной суммой абсолютных расстояний до всех точек. При равенстве выбери меньшую координату.

Пример входных данных и результата

Ввод:

1 2 10

Вывод:

2
Черновик и файл программы

Черновик сохраняется в этом браузере. Ctrl/⌘ + S — сохранить.

Результаты проверки

Напиши решение и нажми «Проверить код». Данные каждого теста подаются автоматически.

    Нужна подсказка?

    Ключ сравнения: (сумма расстояний, координата).

    На чём легко ошибиться

    Не подменяй точку набора средним арифметическим. Кластеризация требует отдельного правила разделения точек.

    Разобрать один из способов решения

    Сначала попробуй написать код сам. Сравни алгоритм, затем закрой разбор и воспроизведи решение без подсказки.

    a = list(map(int, input().split()))
    print(min(a, key=lambda x: (sum(abs(x-y) for y in a), x)))

    Тесты проверяют результат на учебных примерах, но не доказывают правильность для любого входа. Объясни каждую строку и предложи собственный тест.

    03 · Закрепи

    Перед следующей темой

    Назови входные данные, результат, основной шаг алгоритма и граничный случай. Если использовал разбор, напиши решение заново. Для свободных экспериментов открой Python онлайн.

    Все темы этого курса
    1. Файл: прочитать и проверить формат
    2. Строки таблицы и повторы
    3. Соседние элементы и максимум
    4. Самая длинная цепочка
    5. Отбор под ограничение
    6. От полного перебора к O(n)
    7. Кратчайший путь: хранить лучший результат
    8. Точки, расстояние и выбор центра

    Программа подготовлена по темам банка «Академии С». Официальные документы: ФИПИ. Справочник языка: Python. Не все экзаменационные задачи нужно решать программой: например, работа в таблицах требует освоения табличного редактора.