ЗАДАЧА 518 На плоскости задано N точек. Найти две

УСЛОВИЕ:

На плоскости задано N точек. Найти две точки среди данных, находящихся на минимальном расстоянии друг от друга.
Входные данные.
Первая строка входного файла содержит число N (2?N?10^5). Далее в файле записано N пар целых чисел, задающих координаты точек. Все координаты по модулю не превышают 104.
Выходные данные.
В выходной файл выведите пару чисел — номера точек, для которых достигается минимум расстояния. Точки нумеруются, начиная с 1. Если решений несколько, то следует вывести любое из них.

РЕШЕНИЕ:

var F, G:text;
a,b,c,d,i,j,n:integer;
var rasst,min:real;
begin

assign(F,'in.txt');
assign(G,'out.txt');
reset(F);
rewrite(G);


read(F,n);
readln(F);

min:=1000;

for i:=1 to n do begin



read(F,a); read(F,b);

for j:=1 to n do begin
if(i<>j) then begin
read(F,c); read(F,d);
rasst:=sqrt((c-a)*(c-a)+(d-b)*(d-b));

if(rasst<min) and (rasst<>min) then begin
min:=rasst; rewrite(G); writeln(G,i,' ',j);
end;


end;


if(j=n) then begin
close(F);
reset(F);
readln(F);
end;

end;


end;

close(F);
close(G);

end.
ВОПРОСЫ ПО РЕШЕНИЮ?
НАШЛИ ОШИБКУ?
отправить + регистрация в один клик
опубликовать + регистрация в один клик

ОТВЕТ:

в решение

Нужна помощь?

Опубликовать

Добавил slava191 , просмотры: ☺ 866 ⌚ 24.01.2014. информатика 10-11 класс
КОД ВСТАВКИ

РЕШЕНИЯ ПОЛЬЗОВАТЕЛЕЙ
Написать своё решение

Только зарегистрированные пользователи могут писать свои решения.
Увы, но свой вариант решения никто не написал... Будь первым!

НАПИСАТЬ КОММЕНТАРИЙ

Мы ВКонтакте
Последние решения

vk397114329 ✎ Решение: cosx=cos2x*cos3x cos2x*cos3x=1/2(cosx+cos5x); cosx-1/2(cosx)-1/2(cos5x)=0; 1/2(cosx)-1/2(cos5x)=0; cosx-cos5x=sin3x*sin2x=0 sin3x=0. отсюда 3x=Pik. x=Pik/3,k ∈ z 2) sin2x=0. x=Pik/2 Ответ:Piк/3, Piк/2 к задаче 22563

SOVA ✎ Формула cos альфа *cos бета =(1/2)*(cos( альфа + бета )+cos( альфа - бета )) cosx=(1/2)cos5x+(1/2)cosx (1/2)*(cos5x-cosx)=0 Формула cos альфа -cos бета=-2* sin(( альфа + бета )/2)*sin(( альфа - бета )/2) sin3x*sin2x=0 3x=Pik, k ∈ Z или 2х=Pin, n ∈ Z x=(Pi/3)k, k ∈ Z или х=(Pi/2)*n, n ∈ Z О т в е т. (Pi/3)k; (Pi/2)*n, k, n ∈ Z к задаче 22563

SOVA ✎ к задаче 22564

vk397114329 ✎ Решение: Из тождества sin^2x+cos^2x=1 найдем cosx=sgrt(1-sin^2x)=sgrt(1-0.64)=0.6 По определению cosA=AC/AB. отсюда АВ=AC/cosA. AB=9/0.6=15. Ответ 15 к задаче 11947

SOVA ✎ к задаче 22562