【几何入门】求点在两线划分的哪个区域

题目:2023天梯赛上理校内选拔赛D题(分苹果)

题意:

给定两条直线的一般式(必定交叉)和若干点的坐标,按照从少到多的顺序输出直线划分的四个区域各自的苹果数量

fake解法(RuntimeError):

试图将Ax+By+C=0化为y=kx+b的形式求出斜率,然后带入给定坐标
fake原因:想化为斜截式(好久远的名字啊)不可避免地会出现k=-b/a,若a为0则会re。而特判太麻烦,码量过大容易出现各种各样的错误

ac解法(几何知识):

在高中这题我会秒杀,但现在我大二,我只能交一发RE然后手推规律

我们知道对于一般式Ax+By+C=0,想判断一个点(m,n)是否在直线上方,可以求出Am+Bn与C进行比较,若Am+Bn>C则说明点在直线的上面

补充:一些一般式相关的公式

image

posted @ 2023-03-14 00:55  ~Chitoge  阅读(62)  评论(0)    收藏  举报