202006-1 线性分类器




样例一
9 3 1 1 A 1 0 A 1 -1 A 2 2 B 2 3 B 0 1 A 3 1 B 1 3 B 2 0 A 0 2 -3 -3 0 2 -3 1 1
python

n,m=map(int,input().split()) points=[] for _ in range(n): points.append(input().split())#input返回默认是str #points=[ [i for i in map(int,input().split())] for j in range(n)]#xi,yi,A/B searchs=[ [i for i in map(int,input().split())] for j in range(m)]#seta 0 1 2 for seta in searchs: res=1 flag=0 #先确定AB的分布 if((points[0][2]=='A' and seta[0]+seta[1]*int(points[0][0])+seta[2]*int(points[0][1])>0)or(points[0][2]=='B'and seta[0]+seta[1]*int(points[0][0])+seta[2]*int(points[0][1])<0)): flag=1 for p in points: if flag==1 : if ((seta[0]+seta[1]*int(p[0])+seta[2]*int(p[1])>0 and p[2]=='B')or(seta[0]+seta[1]*int(p[0])+seta[2]*int(p[1])<0 and p[2]=='A')): res=0 else: if ((seta[0]+seta[1]*int(p[0])+seta[2]*int(p[1])>0 and p[2]=='A')or(seta[0]+seta[1]*int(p[0])+seta[2]*int(p[1])<0 and p[2]=='B')): res=0 if res==0: print('No') else: print('Yes') ''' if(points[0][2]=='A'): if(seta[0]+seta[1]*points[0][0]+seta[2]*points[0][1]>0):#此时是A》0 B《0 flag=1 else:#此时A《0 B》0 else:#B if(seta[0]+seta[1]*points[0][0]+seta[2]*points[0][1]>0):#此时A《0 B》0 else:#此时是A》0 B《0 flag=1'''

浙公网安备 33010602011771号