试题编号: | 202006-1 |
试题名称: | 线性分类器 |
时间限制: | 1.0s |
内存限制: | 512.0MB |
问题描述: |
|
题目都 提示了用二分法,分别处理A,B的数据。
n,m=map(int,input().split())
A=[]
B=[]
for i in range(n):
a=input().split()
if a[-1]=='A':
A.append(a)
else:
B.append(a)
l=[]
for i in range(m):
a=input().split()
l.append(a)
for i in l:
l1=[]
l2=[]
for j in A:
if int(i[0])+int(i[1])*int(j[0])+int(i[2])*int(j[1])>0:
l1.append(1)
else:
l1.append(-1)
for k in B:
if int(i[0])+int(i[1])*int(k[0])+int(i[2])*int(k[1])>0:
l2.append(1)
else:
l2.append(-1)
# for i in l1:
# print(i,end=' ')
# print(l1.count(1))
# for i in l2:
# print(i,end=' ')
if l1.count(1)==len(l1) and l2.count(-1)==len(l2) or l1.count(-1)==len(l1) and l2.count(1)==len(l2):
print("Yes")
else:
print("No")