#include<stdio.h>
int main(void)
{
int n,m,i,j=0,k=0;
scanf("%d%d",&n,&m);
int x[n],y[n];
char type[n];
for(i=0;i<n;i++)
{
scanf("%d%d %c",&x[i],&y[i],&type[i]);
getchar();
}
int A[m],B[m],C[m];
for(i=0;i<m;i++)
{
scanf("%d%d%d",&A[i],&B[i],&C[i]);
}
for(i=0;i<m;i++)
{
k=0;j=0;
while(j<n)
{
if((type[j]=='A'&&A[i]+B[i]*x[j]+C[i]*y[j]>0)||(type[j]=='B'&&A[i]+B[i]*x[j]+C[i]*y[j]<0))//A上B下
{
j++;
}
else
break;
}
if(j==n)
printf("Yes\n");
else if(j!=n)
{
while(k<n)
{
if((type[k]=='A'&&A[i]+B[i]*x[k]+C[i]*y[k]<0)||(type[k]=='B'&&A[i]+B[i]*x[k]+C[i]*y[k]>0))//A下B上
{
k++;
}
else
break;
}
if(k==n)
printf("Yes\n");
else
printf("No\n");
}
}
return 0;
}
CCF-CSP 202006-1 线性分类器 c语言(满分)
于 2023-02-23 21:14:46 首次发布