人生第一道CSP认证题(并未参加,只是最近总是提这个,就去看了看),按照平时的百分制学科看,我的第一次提交算是及格了(60分)。。
【样例1输入】
9 3
1 1 A
1 0 A
1 -1 A
2 2 B
2 3 B
0 1 A
3 1 B
1 3 B
2 0 A
0 2 -3
-3 0 2
-3 1 1
【样例1输出】
No
No
Yes
大佬就是大佬,感觉我的学校有好多厉害的人。。自己想了一种用来初始化类别的方式,但是不如大佬写的好,就索性模仿(抄袭,我说的真好听)一番,这个题作为第一题,确实说不上难,就连我这个菜逼第一次提交还能得60分呢(因为我少判断了情况。。),忍不住吐槽,这官网做的好laji。。
初中数学问题?就看是直线上方还是下方
#include <iostream>
using namespace std;
struct line{
int x;
int y;
char type;
};
int main(){
ios::sync_with_stdio(false);
int n,m,i;
cin >> n >> m;
line le[n];
for(i = 0;i<n;i++){
cin >> le[i].x >> le[i].y >> le[i].type;
}
int c,x,y;
while(m--){
bool flag = true;
int a = -1,b = -1;
cin >> c >> x >> y;
for(i = 0;i<n;i++){
int res = c+le[i].x*x+le[i].y*y>0?1:0;
if(le[i].type=='A'){
if(a==-1)//类别初始化
a = res;
else if(a!=res){
flag = false;
break;
}
}else if(le[i].type=='B'){
if(b==-1)
b = res;
else if(b!=res){
flag = false;
break;
}
}
}
if(flag)
cout << "Yes" << endl;
else
cout << "No" << endl;
}
return 0;
}