题目: | 最近距离 | |
来源: | Tyvj 1081 | |
题目大意: | 矩阵中有N头牛坐标为(x,y),求其最近距离 | |
数据范围: | 1<=n<=2000,1<=x<=100000,1<=y<=100000 | |
样例: | 9 2 9 5 9 8 10 11 7 10 3 5 1 6 4 2 5 7 6 | 7 9 |
做题思路: | N小于2000,就算n^2的算法,我怕你超时哈?直接模拟,枚举每个点的距离,输出 最近的 | |
知识点: | 模拟、枚举 |
type
node=record
x,y:int64;
end;
var
a:array[0..2001]of node;
n,i,j:longint;
k,min,x,y:int64;
begin
readln(n);
fori:=1 to n do readln(a[i].x,a[i].y);
min:=maxlongint;
fori:=1 to n do
forj:=1 to n do
if(min>(sqr(a[i].x-a[j].x)+sqr(a[i].y-a[j].y)))and(i<>j) then
begin
x:=i;y:=j;
min:=(sqr(a[i].x-a[j].x)+sqr(a[i].y-a[j].y)) {<距离其实是要开平方的,但是不开也能比大小>}
end;
writeln(x,' ',y);
end.
题目来源:
http://www.tyvj.cn:8080/Problem_Show.asp?id=1081