Распределение посылок по центрам
Условие
В пункте выдачи для каждой посылки известны её масса в граммах и объём в кубических сантиметрах. Также заданы характеристики нескольких центров кластеров посылок.
Каждая посылка относится к ближайшему центру. Для посылки с характеристиками \((m, v)\) и центра с характеристиками \((M, V)\) используется квадрат евклидова расстояния: \(d^2=(m-M)^2+(v-V)^2\).
Требуется определить число посылок в каждом кластере. Номера центров определяются их порядком во входных данных, начиная с 1. Если расстояние до нескольких центров одинаково, посылка относится к центру с меньшим номером.
Идентификаторы посылок могут иметь пропуски и не влияют на распределение. Все характеристики посылок и центров указаны полностью. Пустой кластер имеет размер 0.
Формат ввода
В первой строке даны два целых числа \(n\) и \(k\) — число посылок и число центров кластеров.
В следующих \(k\) строках даны по два целых числа \(M_i\) и \(V_i\) — масса и объём \(i\)-го центра.
В следующих \(n\) строках даны по три целых числа id, \(m\) и \(v\) — идентификатор, масса и объём очередной посылки.
Формат вывода
Выведите \(k\) целых чисел через пробел — размеры кластеров в порядке центров из входных данных.
Дробной части в ответе нет, выводятся точные целые числа без округления.
Ограничения
\(1 \le n \le 1000\).
\(1 \le k \le 20\), \(k \le n\).
\(1 \le id \le 10^9\).
\(0 \le m, M_i \le 10000\).
\(0 \le v, V_i \le 10000\).
Длина каждой строки входных данных не превышает 40 символов.
Решить задачу с автопроверкой на Python →
Куда дальше
- С нуля до олимпиады: маршрут — сколько занимает язык, какие приёмы нужны и к какому этапу это ведёт
- Перечневые олимпиады: что это и что дают — весь перечень Минобрнауки: уровни, срок диплома, разрезы по предметам и классам
- Олимпиада по информатике: с чего начать — два мира олимпиад — ВсОШ и перечневые: этапы, задания и на каком языке писать