Задание №27: Кластерный анализ и геометрические алгоритмы
Основные типы и прототипы задания №27:
Кластеризация точек (Центроиды)
2 или 3 кластера (Файл A и B)
Минимизация суммарного расстояния
Условие задания
(В. Глезденев) Учёный решил провести кластеризацию некоторого множества звёзд по их расположению на карте звёздного неба. Кластер звёзд – это набор звёзд (точек) на графике. Каждая звезда обязательно принадлежит только одному из кластеров. Каждый кластер имеет форму сектора круга c радиусом R и центральным углом H = 70°, причём эти сектора между собой не пересекаются. Центр кластера – это одна из звёзд на графике, сумма расстояний от которой до всех остальных звёзд кластера минимальна. Расстояние между двумя точками A(x1, y1) и B(x2, y2) вычисляется по формуле:

Даны два входных файла (файл A и файл Б). В файле A хранятся данные о звёздах трёх кластеров, для которых R = 10. В каждой строке записана информация о расположении на карте одной звезды: сначала координата x, затем координата y (в условных единицах). Известно, что количество звёзд не превышает 1000. В файле Б хранятся данные о звёздах четырёх кластеров, для которых R = 12. Известно, что количество звёзд не превышает 10 000. Структура хранения информации о звездах в файле Б аналогична файлу А. Возможные данные одного из файлов иллюстрированы графиком.
Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа: Px – среднее арифметическое абсцисс центров кластеров, и Py – среднее арифметическое ординат центров кластеров. В ответе запишите четыре числа: в первой строке сначала целую часть произведения Px×100 000, затем целую часть произведения Py×100 000 для файла А, во второй строке – аналогичные данные для файла Б.
Для каждого файла определите координаты центра каждого кластера, затем вычислите два числа: Px – среднее арифметическое абсцисс центров кластеров, и Py – среднее арифметическое ординат центров кластеров. В ответе запишите четыре числа: в первой строке сначала целую часть произведения Px×100 000, затем целую часть произведения Py×100 000 для файла А, во второй строке – аналогичные данные для файла Б.
Ответ:
808576 580719<br/>914239 607914