CSP 202006-1 线性分类器 (C++)

tech2022-10-02  64

#include<bits/stdc++.h> using namespace std; typedef struct point { int x; int y; char type; } POINT; int main() { int n,m; cin>>n>>m; POINT test[n]; for(int i=0; i<n; i++) cin>>test[i].x>>test[i].y>>test[i].type; for(int i=0; i<m; i++) { bool dete = true; //a+bx+cy = 0; int a,b,c; cin>>a>>b>>c; //以第一个点作为基准点,判断其他点是不是满足条件 char type = test[0].type; bool flag = a+b*test[0].x+c*test[0].y>0; for(int j=1; j<n; j++) { bool temp = a+b*test[j].x+c*test[j].y>0; if((temp == flag && type!= test[j].type)||(temp != flag && type == test[j].type)) { dete = false; cout<<"No\n"; break; } } if(dete == true) cout<<"Yes\n"; } return 0; }
最新回复(0)