采用c++答题
查看题目请点击: csp官网.
代码如下
#include<iostream>
using namespace std;
struct Point{
int x;
int y;
char type;
};
int main()
{
int n,m;
cin>>n>>m;
Point point[n];
int var[m][3];
for(int i=0;i<n;i++)
{
cin>>point[i].x>>point[i].y>>point[i].type;
}
for(int j=0;j<m;j++)
{
cin>>var[j][0]>>var[j][1]>>var[j][2];
}
for(int j=0;j<m;j++)
{
int k0=var[j][0];
int k1=var[j][1];
int k2=var[j][2];
int flag1=0;
int flag2=0;
for (int i=0;i<n;i++)
{
char type=point[i].type;
int res=k0+k1*point[i].x+k2*point[i].y;
if(type=='A')
{
if(res>0)
{
flag1++;
}
else if(res<0)
{
flag2++;
}
}
else if(type=='B')
{
if(res>0)
{
flag2++;
}
else if(res<0)
{
flag1++;
}
}
}
if(flag1==n||flag2==n)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}