Выбрать соревнование | Задачи | Послать решение | Результаты проверки | Статистика по задачам | Вопросы и ответы | Результаты соревнования | Состояние сервера | Изменить данные | Управление командой | Помощь |
01/09/2007 | Основы программирования. Функции (35) |
Ограничения: время – 200ms/500ms, память – 128MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Напишите функцию ClosestPoints
, псевдокод для которой написан ниже.
int n,a,b;
...
double x[n],y[n];
...
ClosestPoints(x,y,n,&a,&b);
...
В качестве решения необходимо отправлять файл, содержащий только определение функции!
Алгоритм ClosestPoints (X,Y)
// Входные данные: массивы X[0..., Y[0...n-1], n>=2 – координаты точек
// Выходные данные: индексы (a,b) пары ближайших точек
d_{min} larr +oo
for i in [0...n-2] do
quad for j in [i+1...n-1] do
quad quad d larr sqrt{(X[i] -X[j])^2+(Y[i]-Y[j])^2}
quad quad if d < d_{min}
quad quad quad quad d_{min} larr d; a larr i; b larr j
return (a,b)