#include<bits/stdc++.h>
using namespace std;
#define _for(i,a,b) for(int i=a;i<b;i++)
struct P{
int x;
int y;
char c;
};
bool cmp(P a,P b)
{
return a.c<b.c;
}
int main()
{
//freopen("in.txt","r",stdin);
int n,m;
cin>>n>>m;
vector<P> p(n);
int x,y;
char c;
_for(i,0,n)
{
cin>>x>>y>>c;
p[i].x=x;
p[i].y=y;
p[i].c=c;
}
sort(p.begin(),p.end(),cmp);//把AB分开
int a0,a1,a2;
while(m--)
{
cin>>a0>>a1>>a2;
int f;
_for(i,0,n)
{
y=a0+a1*p[i].x+a2*p[i].y>0 ? 1:0;
if(i==0)//确定A的
{
f=y;
continue;
}
if(p[i].c=='A')
{
if(y!=f)
{
cout<<"No"<<endl;
break;
}
}
else
{
if(y==f)
{
cout<<"No"<<endl;
break;
}
if(i==n-1)//循环所有的点后没有问题的话
{
cout<<"Yes"<<endl;
break;
}
}
}
}
//fclose(stdin);
return 0;
}
202006-1 试题名称: 线性分类器
最新推荐文章于 2022-03-18 21:44:12 发布