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

Задача . в20-27


Задача

Темы:

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

Спектральный класс звезды    Класс светимости
O Голубая   I Сверхгиганты
B Бело-голубая   II Яркие гиганты
A Белая   III Гиганты
F Жёлто-голубая   IV Субгиганты
G Жёлтая   V Карлики
K Оранжевая   VI Субкарлики
M Красная   VII Белые карлики

Будем называть антицентром кластера точку этого кластера, сумма расстояний от которой до всех остальных точек кластера максимальна. Для каждого кластера гарантируется единственность его антицентром. Расстояние между двумя точками на плоскости А (х1, y1) и B (х2, y2) вычисляется по формуле:

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

В файле А хранятся данные о звёздах двух кластеров, где Н = 5 и W = 4 для каждого кластера. В каждой строке записана информация одной звезды: координата х, координата у и её характеристика. Значения даны в условных единицах. Известно, что количество точек не превышает 1000.
В файле Б хранятся данные о звёздах трёх кластеров, где Н = 6 и W = 5 для каждого кластера.Известно, что количество точек не превышает 10 000.

Структура хранения информации о звёздах в файле Б аналогична структуре в файле А.
Для файла А определите координаты антицентра каждого кластера, затем найдите два числа: A1 – сумма расстояний от антицентра кластера с наименьшим количеством точек до всех красных карликов в кластере с наибольшим количеством точек, и A2 – минимальное расстояние от антицентра кластера с наибольшим количеством точек до оранжевого гиганта, находящегося в кластере с наименьшим количеством точек.
Для файла Б определите координаты антицентра каждого кластера, затем найдите два числа: B1 – суммарное расстояние от антицентра кластера со средним количеством точек до жёлто-белых звёзд во всех кластерах с подклассом светимости не более 6, и B2 – суммарное расстояние от антицентра кластера с наибольшим количеством точек до белых звёзд во всех кластерах с подклассом светимости не более 4.

В ответе запишите четыре числа: в первой строке – сначала целую часть произведения A1 × 10 000, затем целую часть произведения A2 × 10 000; во второй строке – сначала целую часть произведения B1 × 10 000, затем целую часть произведения B2 × 10 000.


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

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