using namespace std;
#include<iostream>
#include<cstring>
#include<set>
#include<vector>
#include<map>
int x[1005]={0};
int y[1005]={0};
char c[1005];
int L[25][3];
int main(){
int n,m;
int k0=0,k1=0;
cin>>n>>m;
for(int i=0;i<n;i++){
cin>>x[i]>>y[i]>>c[i];
}
for(int j=0;j<m;j++){
cin>>L[j][0]>>L[j][1]>>L[j][2];
}
for(int j=0;j<m;j++){
int aa=0;
int flagA=0,flagB=0;
for(int i=0;i<n;i++){
if(c[i]=='A'){
int sum=L[j][0]+L[j][1]*x[i]+L[j][2]*y[i];
if(flagA==0){
flagA=(sum>0)?1:2;
}
if((sum>0&&flagA!=1)||(sum<0&&flagA!=2)){
cout<<"No";
break;
}
aa++;
}
else{
int sum=L[j][0]+L[j][1]*x[i]+L[j][2]*y[i];
if(flagB==0){
flagB=(sum>0)?1:2;
}
else if((sum>0&&flagB!=1)||(sum<0&&flagB!=2)){
cout<<"No";
break;
}
aa++;
}
}
if(aa==n) cout<<"Yes";
if(j!=m-1) cout<<endl;
}
return 0;
}
线性分类器
最新推荐文章于 2022-04-02 16:36:11 发布