一起来看流星雨
题号:NC203930
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

牛牛在家闷得无聊,就上网看新闻,新闻报道说今天晚上会有流星雨,所以牛牛非常高兴,就决定今天晚上约牛妹一起去看流星雨。牛妹是一个非常善于思考的同学,她看到流星划过天空,就非常好奇,随着流星的移动,流星两两之间最远的距离到底在什么时候是最小的,这个最小的距离是多少,所以他去问牛牛,牛牛同学现在光顾着看流星雨了,所以不能回答这个问题,就将这个问题交给你了,你能帮助牛牛吗?现在为了简化问题,假定 n (n<=10^4) 颗流星处于二维空间,且同一时间出发,初始时刻每颗流星会有一个坐标 (x,y) (-10^5<=x,y<=10^5) 和速度向量 (vx, vy) (-10^3<=vx,vy<=10^3)。


示例1

输入

复制
2,[[0,0, 2, 0], [4, 0, -2, 0]]

返回值

复制
0.000

说明

第1颗流星由(0,0)点出发经过1个单位时刻到达(2, 0)坐标点,第2颗流星由(4,0)点出发经过1个单位时刻到达(2, 0)坐标点,此时两颗流星相距最远距离最小。 
示例2

输入

复制
3,[[0, 0, 2, 0],[ 4, 0, -2, 0],[ -5, 0, 2, 0]]

返回值

复制
5.000

备注:

输入包括一个n,表示有n颗流星,接下来有n行,每行包括流星的坐标 (x,y) 和 速度向量 (vx,vy),其中这些数都是整数。
输出流星两两之间最远的距离最小的 最小距离 是多少。输出结果误差精度为3位。