代码如下
#include <bits/stdc++.h>
using namespace std;
int main(){
int m,n;
cin>>n>>m;
vector<int> x;
vector<int> y;
vector<char> c;
// 获取坐标点
for(int i=0;i<n;++i){
int x_i,y_i;
char c_i;
cin>>x_i>>y_i>>c_i;
x.push_back(x_i);
y.push_back(y_i);
c.push_back(c_i);
}
// 获取指定的 theta,theta1,theta2
for(int i=0;i<m;++i){
int theta,theta1,theta2;
cin >> theta >> theta1 >> theta2;
int a=0,b=0;
for(int j=0;j<n;++j){
// 如果type是A
if(c[j] == 'A')
theta+theta1*x[j]+theta2*y[j]>0?a++:a--;
else
theta+theta1*x[j]+theta2*y[j]>0?b++:b--;
}
if( (count(c.begin(),c.end(),'A')==abs(a)) && (count(c.begin(),c.end(),'B')==abs(b)) )
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}