【发布时间】:2011-03-14 20:30:49
【问题描述】:
假设我们有一个平面,上面有一些点。 我们还有一个给定半径的圆。
我需要一种算法来确定圆的位置,使其覆盖最大可能的点数。当然,这样的位置很多,所以算法应该返回其中一个。
精度并不重要,算法可能会犯一些小错误。
这是一个示例图片:
输入:int n (n
float x[n] 和 float y[n] – 具有点 X 和 Y 坐标的数组;float r – 圆的半径。
输出:float cx 和 float cy – 圆心坐标
算法的闪电速度不是必需的,但不应该太慢(因为我知道一些针对这种情况的慢速解决方案)。
C++ 代码是首选,但不是强制性的。
【问题讨论】:
-
你对积分的分配没有限制?
-
这听起来很棒codegolf
-
@bobobobo 我真的不这么认为。很无聊,没有确切的获胜条件……但请随意提出这样的问题。
标签: c++ algorithm geometry points