思路-按比例缩小坐标,利用四舍五入求最近相邻点
情景: 在周长为1000的圆周上均匀放n个红点, m+n个黑点,如何表示每个红点和周围最近的黑点的距离?
分析:不管周长是多少,先假设周长是1, 则红点之间间距是1/n
这样(m+n)个黑点之间的距离是 1/(m+n).
为了防止损失精度, 把它们同时乘以(m+n), 则红点间距 (m+n)/ n , 黑点间距1.
( 反过来想,假设设较小的间距为1)。
这样, 将某个红点四舍五入后得到的值就是离它最近的黑点。将它们之间距离放大为原比例即可。注意精度。
示意:
1--------2--------3--------4--------5--------6
----1.5-------2.8----------4----------4.1-----