Олимпиадный тренинг

Задача . ЕГЭ 27. Кластеризация звёзд: яркие пары


Задание выполняется с использованием прилагаемых файлов.


Фрагмент звёздного неба спроецирован на плоскость с декартовой системой координат. Учёный решил провести кластеризацию полученных точек, являющихся изображениями звёзд, то есть разбить их множество на N непересекающихся непустых подмножеств (кластеров), таких что точки каждого подмножества лежат внутри прямоугольника со сторонами длиной H и W, причём эти прямоугольники между собой не пересекаются. Стороны прямоугольников не обязательно параллельны координатным осям.

Гарантируется, что такое разбиение существует и единственно для заданных размеров прямоугольников.

Для каждой звезды дана характеристика: тип цвета, тип светимости и её размер в соответствии с таблицей.

ОбозначениеЦвет
Gбелый
Jзелёный
Lсиний
Nоранжевый
Yкрасный
Sголубой
Zжёлтый
ОбозначениеРазмер
Iсверхгигант
IIяркий гигант
IIIгигант
IVсубгигант
Vкарлик
VIсубкарлик
VIIбелый карлик

Полученные значения записаны в характеристике слитно: обозначение цвета, светимость (обозначается арабской цифрой от 1 до 9) и размер звезды. Например, G5III — белая звезда, светимость 5, гигант.

Будем называть центром кластера точку этого кластера, сумма расстояний от которой до всех остальных точек кластера минимальна. Для каждого кластера гарантируется единственность его центра. Расстояние между двумя точками на плоскости \(A(x_1, y_1)\) и \(B(x_2, y_2)\) вычисляется по формуле:

\(d(A, B) = \sqrt{(x_2 - x_1)^2 + (y_2 - y_1)^2}\).

В файле А хранятся данные о звёздах двух кластеров, где H=7, W=5 для каждого кластера. В каждой строке записана информация об одной звезде: сначала координата x, затем координата y, затем характеристика звезды. Значения даны в условных единицах. Известно, что количество точек не превышает 1000.

В файле Б хранятся данные о звёздах трёх кластеров, где H=3, W=7 для каждого кластера. Известно, что количество точек не превышает \(10\,000\). Структура хранения информации о звёздах в файле Б аналогична файлу А.

Известно, что в файле Б имеются координаты ровно трёх «лишних» точек, являющихся аномалиями, возникшими в результате помех при передаче данных. Эти три точки не относятся ни к одному из кластеров, их учитывать не нужно.

Гарантируется, что во всех кластерах обоих файлов количество точек различно.

Яркой парой в кластере будем называть пару различных звёзд этого кластера, расстояние между которыми не превышает \(R = 0{,}3\), а сумма их светимостей не менее 15.

Для файла А определите центр каждого кластера и найдите два числа: \(A_1\) — количество ярких пар в кластере с меньшим числом точек; \(A_2\) — количество ярких пар в кластере с бо́льшим числом точек.

Для файла Б определите центр каждого кластера (без учёта трёх «лишних» точек) и найдите два числа: \(B_1\) — максимальное среди трёх кластеров количество ярких пар; \(B_2\) — расстояние от начала координат до центра того кластера, в котором количество ярких пар максимально.

В ответе запишите четыре числа: в первой строке — \(A_1\) и \(A_2\) через пробел; во второй строке — \(B_1\) и целую часть произведения \(B_2 \times 10\,000\) через пробел.


time 500 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
Комментарий учителя