题目:
思路:对于Ax+By+C=0 这样的公式,若有一点x,则将点的坐标带入直线方程的x、y,会有三种情况:
即对于左边的式子 F(x,y)=Ax+By+C 有:
1.点在线上:
F(x,y)=0
2.点在线上方:
F(x,y)=C1 (C1不等于0且和C2异号)
3.点在线下方:
F(x,y)=C2 (C2不等于0且和C1异号)
我直接想到的方法(仅考虑所有不在线上的点)就是构建两个列表,循环遍历储存直线的列表和储存点的列表并根据带入点后函数值的正负分别将点的信息(‘A’或‘B’)加入两个列表。
最后,只需要判断列表中是否只有A类点或B类点即可。
n,m=map(int,input().split())
point_list=[]
line_list=[]
for i in range(n):
x,y,name=input().split()
x,y=map(int,[x,y])
point_list.append([x,y,name])
for j in range(m):
z,x,c=map(