Задача №1670. Точки
Решение задачи:
Для решения задачи необходимо считать входные данные и вывести выходные. Все. А теперь серьезно. Чтобы посчитать расстояние до точки можно воспользоваться формулой r*alpha, где r – радиус окружности, а alpha - угол в радианах, но и это здесь не требуется, так как в условии задачи явно указано, что расстояние можно определять углом. Вычислить расстояние между парами точек можно с помощью формулы min(|alpha1 - alpha2|, 360 - |alpha1 - alpha2|).*r Далее считается расстояние от i точки до всех остальных и суммируется. И так для каждой точки. Из всех сумм выбираются минимальные, и выводятся номера соответствующих точек в возрастающем порядке. Сложность такого алгоритма O(n2).
Примечание:
Многие участники попытались найти линейное или хотя бы логарифмическое решение, но из статистики видно, что оно совсем не тривиальное и у них не хватило техники на его реализацию. Некоторые участники некорректно обрабатывали случай, когда точка всего одна.