Кластеризация звёздных точек
Задание выполняется с использованием прилагаемых файлов. Фрагмент звёздного неба спроецирован на плоскость с декартовой системой координат. Необходимо разбить точки на непересекающиеся кластеры так, чтобы точки каждого кластера лежали внутри прямоугольника со сторонами длиной $H$ и $W$, а прямоугольники не пересекались. Центр кластера — точка этого кластера, сумма расстояний от которой до остальных точек минимальна. Расстояние между точками $A(x_1,y_1)$ и $B(x_2,y_2)$ вычисляется по формуле $d(A,B)=\sqrt{(x_2-x_1)^2+(y_2-y_1)^2}$.
Каждая звезда характеризуется спектральным классом и классом светимости. Спектральные классы $O$, $B$, $A$, $F$, $G$, $K$, $M$ соответствуют цветам: голубой, бело-голубой, белый, жёлто-белый, жёлтый, оранжевый, красный. Каждый спектральный класс имеет подклассы от 0 до 9. Классы светимости обозначаются римскими цифрами от $I$ до $VII$: сверхгигант, яркий гигант, гигант, субгигант, карлик, субкарлик, белый карлик.
В файле А содержится информация о точках двух кластеров. Для каждого кластера $H=6{,}0$ и $W=5{,}5$. Для файла А определите координаты центров кластеров, затем найдите координаты $A_x$ и $A_y$ бело-голубого яркого гиганта, ближайшего к центру кластера, содержащего наибольшее количество точек.
В файле Б содержатся координаты точек трёх кластеров. Для каждого кластера $H=6{,}0$ и $W=5{,}5$. Определите координаты центров кластеров, затем найдите $B_1$ — расстояние между центрами кластеров с наименьшим и наибольшим количеством жёлтых карликов, и $B_2$ — наибольшее расстояние между оранжевыми карликами одного кластера.
В ответе запишите четыре числа: в первой строке — целые части $|A_x\times10000|$ и $|A_y\times10000|$; во второй строке — целые части $B_1\times10000$ и $B_2\times10000$.
Структура файлов приведена в условии. Количество точек в файле А не превышает 2000, в файле Б — 10000.
Условие как в банке ФИПИ — открыть и сверить
| ||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Сначала определите принадлежность каждой точки кластеру по условию о прямоугольниках со сторонами $H=6{,}0$ и $W=5{,}5$.
2Наводящая — какие числа считатьуровень 2 из 3
Для центра каждого кластера переберите все его точки и выберите точку с минимальной суммой евклидовых расстояний до остальных точек этого кластера.
3Прямая — фактически решениеуровень 3 из 3
После нахождения кластеров и их центров отфильтруйте звёзды по спектральному классу и классу светимости, затем вычислите требуемые расстояния и умножьте результаты на $10000$.
