На большом поле находятся суслик и собака. Собака хочет суслика съесть, а суслик хочет оказаться в безопасности, добежав до одной из норок, выкопанных в поле. Ни собака, ни суслик в математике не сильны, но, с другой стороны, они и не беспросветно глупы. Суслик выбирает определенную норку и бежит к ней по прямой с определенной скоростью. Собака, которая очень хорошо понимает язык телодвижений, угадывает, к какой норке бежит суслик, и устремляется к ней со скоростью вдвое большей скорости суслика. Если собака добегает до норки первой (раньше суслика), то она съедает суслика; иначе суслик спасается.
Требуется написать программу, которая поможет суслику выбрать норку, в которой он может спастись, если таковая существует.
Входные данные
Во входном файле INPUT.TXT записано в первой строке два числа – координаты суслика. Во второй строке записаны два числа – координаты собаки. В третьей строке записано число n – число норок на поле. В следующих n строках записаны координаты норок. Все координаты являются целыми числами, по модулю не превышающими 10000, и записываются через пробел. Количество норок не превышает 1000.
Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести число – номер норки, если у суслика есть возможность в ней спастись. Если у суслика есть возможность спрятаться в нескольких норках, то выведите ту, которая первая шла во входных данных. Если суслик не может спастись, то выведите в выходной файл «NO» (без кавычек).
var n,i,a1,b1,c1,d1,e1,g1:integer;
fl:boolean;w,w1:real;
f,f1:text;
begin
fl:=false;
assign(f,'input.txt');
reset(f);
assign(f1,'output.txt');
rewrite(f1);
readln(f,a1,b1);
readln(f,c1,d1);
readln(f,n);
i:=1;
repeat
readln(f,e1,g1);
w:=sqrt(sqr(e1-a1)+sqr(g1-b1));
w1:=sqrt(sqr(e1-c1)+sqr(g1-d1));
if 2*w<=w1 then fl:=true;
i:=i+1;
until (i>n) or fl;
if fl then write(f1,i-1) else write (f1,'NO');
close(f);
close(f1);
end.
Требуется написать программу, которая поможет суслику выбрать норку, в которой он может спастись, если таковая существует.
Входные данные
Во входном файле INPUT.TXT записано в первой строке два числа – координаты суслика. Во второй строке записаны два числа – координаты собаки. В третьей строке записано число n – число норок на поле. В следующих n строках записаны координаты норок. Все координаты являются целыми числами, по модулю не превышающими 10000, и записываются через пробел. Количество норок не превышает 1000.
Выходные данные
В единственную строку выходного файла OUTPUT.TXT нужно вывести число – номер норки, если у суслика есть возможность в ней спастись. Если у суслика есть возможность спрятаться в нескольких норках, то выведите ту, которая первая шла во входных данных. Если суслик не может спастись, то выведите в выходной файл «NO» (без кавычек).
Примеры
№
|
INPUT.TXT
|
OUTPUT.TXT
|
1
|
10 10
20 20 1 15 15 |
NO
|
2
|
20 20
10 10 2 15 15 25 25 |
2
|
Решение
var n,i,a1,b1,c1,d1,e1,g1:integer;
fl:boolean;w,w1:real;
f,f1:text;
begin
fl:=false;
assign(f,'input.txt');
reset(f);
assign(f1,'output.txt');
rewrite(f1);
readln(f,a1,b1);
readln(f,c1,d1);
readln(f,n);
i:=1;
repeat
readln(f,e1,g1);
w:=sqrt(sqr(e1-a1)+sqr(g1-b1));
w1:=sqrt(sqr(e1-c1)+sqr(g1-d1));
if 2*w<=w1 then fl:=true;
i:=i+1;
until (i>n) or fl;
if fl then write(f1,i-1) else write (f1,'NO');
close(f);
close(f1);
end.
Комментариев нет:
Отправить комментарий