Tyvj 1081 最近距离

11 篇文章 0 订阅

题目:

 最近距离

来源:

 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值