给出两组A和B总共n行和一个p点。你如何确定A线是否位于p的一侧而B线是否位于另一侧?
答案 0 :(得分:0)
除非所有的线条相互平行,否则它们总是越过p
的两边,因为它们会永远持续下去。否则,绘制一条平行于通过p
的其他行之一的直线,此行将划分两组。
答案 1 :(得分:0)
假设如下:
这不是家庭作业
2.“交叉P”意味着,对于给定的x,y范围,它们不会交叉。如果我们谈论整个轴,那么A和B中的线必须与它们的集合平行,这个问题变得微不足道。
然后简单(虽然天真)的方法(O(n))是简单地将线的每个x值与点的x值进行比较(对于给定的p值y值)。如果对于给定的y,集合A(或B)的所有x坐标都在给定点的左边,而对于给定的x,所有y值都不高于此点,那么该集合在一侧。对另一组运行相同的测试,如果所有线都在另一侧。中提琴。 :)
希望这有帮助。