#include <iostream>
using namespace std;
struct Point
{
int x,y;
char c;
};
double abc(double a,double b,double c,double x,double y)
{
return (y-((-a-b*x)/c));
}
int main()
{
Point point[1001];
int n,m;
int a[21],b[21],c[21];
cin>>n>>m;
for(int i=0;i<n;i++)
{
cin>>point[i].x>>point[i].y>>point[i].c;
}
for(int i=0;i<m;i++)
{
cin>>a[i]>>b[i]>>c[i];
}
for(int i=0;i<m;i++)
{
int t=0;
for(int j=0;j<n-1;j++)
{
for(int k=j+1;k<n;k++)
{
if(point[j].c==point[k].c)
{
if(abc(a[i],b[i],c[i],point[j].x,point[j].y)*abc(a[i],b[i],c[i],point[k].x,point[k].y)<0)
{
t=1;
break;
}
}
}
}
if(t==0)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}
CCF CSP202006-1 线性分类器
最新推荐文章于 2024-04-27 20:36:23 发布