✎ Задать свой вопрос   *более 30 000 пользователей получили ответ на «Решим всё»

Задача 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, просмотры: ☺ 1117 ⌚ 24.01.2014. информатика 10-11 класс

Решения пользователелей

Хочешь предложить свое решение? Войди и сделай это!
Увы, но свой вариант решения никто не написал... Будь первым!

Написать комментарий

Последнии решения
Второе уравнение имеет решения при a>0 [b] (!) [/b]

{x^4-y^4=12a-28;
{x^2+y^2=a

{(x^2-y^2)*(x^2+y^2)=12a-28
{x^2+y^2=a

{(x^2-y^2)*a=12a-28
{x^2+y^2=a ⇒ y^2=a-x^2

{(x^2-a+x^2)*a=12a-28
{y^2=a-x^2

{2ax^2= a^2+12a-28
{y^2=a- ((a^2+12a-28)/2a)

{x^2=(a^2+12a-28)/2a
{y^2=(a^2-12a+28)/2a


Первое уравнение имеет два корня при
(a^2+12a-28)/2a >0
Второе уравнение имеет два корня при
(a^2-12a+28)/2a >0
Учитывая a>0 [b] (!) [/b]

остается решить cистему неравенств:
{a^2+12a-28 >0⇒ a < -14 или a>2
{a^2-12a+28 >0 ⇒ a<6-4sqrt(2) или a> 6+4sqrt(2)

О т в е т. a > 6+sqrt(2)
[удалить]
✎ к задаче 31102
По правилу треугольника
vector{AB}+vector{BC}=vector{AC}

⇒ vector{AC} =vector{a}+vector{b}

По правилу треугольника
vector{AB} + vector{BM} =vector{AM}

Так как

vector{АМ}=(1/2)*vector{AC} ⇒

vector{AМ} =(1/2)*vector{a}+(1/2)*vector{b}

значит

vector{а} + vector{BM} =(1/2)*vector{a}+(1/2)*vector{b}




vector{BM} =(1/2)*vector{a}+(1/2)*vector{b}- vector{а}



vector{BM} =(1/2)*vector{b}-(1/2)*vector{a}
[удалить]
✎ к задаче 31100
Выражаем из второго уравнения у
2y=-1-3x;
y=(1/2)*(-1-3x)

и подставляем в первое уравнение:

x^2+x*(1/2)*(-1-3x)-3*((1/2)*(-1-3x)=9

Раскрываем скобки и приводим подобные слагаемые.

x^2-8x+15=0
D=64-60=4
x_(1)=(8-2)/2=3; x_(2)=(8+2)/2=5
y_(1)=(1/2)*(-1-3*3)=-5; у_(2)=(1/2)*(-1-3*5)=-8

О т в е т. (3;-5);(5;-8)

Выражаем из второго уравнения х
3х= -1 -2y;
x=(1/3)*(-1-2x)

и подставляем в первое уравнение:

(1/9)*(-1-2y)^2+(1/3)*y*(-1-2y)-3y=9

Раскрываем скобки и приводим подобные слагаемые.
y^2+13y+40=0
D=169-160=9
y_(1)=-8; y_(2)=-5
x_(1)=5; x_(2)=3

О т в е т. (3;-5);(5;-8)
[удалить]
✎ к задаче 31099
ОДЗ:
8-2x ≥ 0
2x ≤ 8
x ≤ 4
х ∈ (- ∞ ;4]

Возводим обе части уравнения в квадрат
8-2x=6^2
-2x=36-8
-2x=28
x=-14
-14 ∈ ОДЗ
О т в е т. -14
[удалить]
✎ к задаче 31098
(прикреплено изображение) [удалить]
✎ к задаче 31095