线性分类器(CSP认证20年6月)
发布时间
阅读量:
阅读量
线性分类器
- 原题地址
- 解题策略
- 程序代码
- 关键事项
原题链接解析
解题思路分析
不难发现,只需将坐标代入方程并比较所得结果与零的大小关系,即可确定该点位于直线的左侧或右侧。
针对每条直线对应的方程,判断步骤如下:
首先记录各个点的具体信息(所属类别),在进行判断时,先确定第一个点相对于直线的位置是处于左侧还是右侧,再依次检查其余各点是否与第一个点属于同一类别:
- 若类别一致,则其余点应与第一个点位于直线的同一侧
- 若类别不同,则其余点应与第一个点分别处于直线的两侧
源代码
#include<iostream>
using namespace std;
const int maxn = 1010;
int n, m;
struct point{
int x, y;
bool flag; // A类为true,B类为false
}points[maxn];
int a, b, c; // 方程的三个参数
bool solve(){
// 用第一个点
全部评论 (0)
还没有任何评论哟~
