Кластеризация звёздных данных
Задание выполняется с использованием прилагаемых файлов. Фрагмент звёздного неба спроецирован на плоскость с декартовой системой координат. Необходимо разбить множество точек-звёзд на непересекающиеся непустые кластеры так, чтобы точки каждого кластера лежали внутри прямоугольника со сторонами длиной $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$: $I$ — сверхгигант, $II$ — яркий гигант, $III$ — гигант, $IV$ — субгигант, $V$ — карлик, $VI$ — субкарлик, $VII$ — белый карлик.
В файле A содержится информация о точках двух кластеров при $H=6{,}0$ и $W=5{,}5$. В файле Б содержится информация о точках трёх кластеров при $H=6{,}0$ и $W=5{,}5$. Количество точек в файле A не превышает 2000, а в файле Б — 10 000. Для звёзд классов светимости $I$–$VI$ после координат записаны спектральный класс, подкласс и класс светимости без разделителей. Для белых карликов класса $VII$ спектральный класс и подкласс не указываются.
Для файла A определите координаты центров двух кластеров, затем найдите абсциссу $A_x$ и ординату $A_y$ красного гиганта, ближайшего к центру кластера с наименьшим количеством точек.
Для файла Б определите координаты центров трёх кластеров, затем найдите $B_1$ — расстояние между центрами кластеров с наименьшим и наибольшим количеством оранжевых гигантов, и $B_2$ — наибольшее расстояние между жёлтыми карликами одного кластера.
В ответе запишите четыре числа: в первой строке — целую часть абсолютной величины произведения $A_x\times10000$, затем целую часть абсолютной величины произведения $A_y\times10000$; во второй строке — целую часть произведения $B_1\times10000$, затем целую часть произведения $B_2\times10000$. Для решения используйте данные из прилагаемых файлов.
Условие как в банке ФИПИ — открыть и сверить
| ||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||
Формат: число или слово без единиц измерения; дробную часть отделяйте запятой.
1Мягкая — с чего смотретьуровень 1 из 3
Сначала прочитайте координаты и характеристики звёзд из файлов, затем разделите точки на кластеры с помощью перебора прямоугольников размеров $6{,}0\times5{,}5$.
2Наводящая — какие числа считатьуровень 2 из 3
Для каждого найденного кластера вычислите сумму расстояний от каждой его точки до остальных точек и выберите точку с минимальной суммой.
3Прямая — фактически решениеуровень 3 из 3
Отдельно подсчитайте звёзды нужных типов: красные гиганты имеют спектральный класс $M$ и класс светимости $III$, оранжевые гиганты — $KIII$, жёлтые карлики — $GV$. После этого выполните указанные операции с координатами и умножьте результаты на $10000$.
