栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

CCF CSP 2020-6-1 线性分类器 C语言100分

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

CCF CSP 2020-6-1 线性分类器 C语言100分

CCF CSP 2020-6-1 线性分类器 C语言100分

线性分类器 完成时间11-15 16:23 代码长度961B C 正确 100分 耗时15ms 代码长度2.550MB

思路:根据点带入直线表达式>0还是<0判断在直线的哪一侧。因为不知道A和B分别在哪一边,所以有两种情况:
A在下(A0)B在上(B1)
A在上(A1)B在下(B0)
所以A0+B1=n或A1+B0=n即为全部分类正确。

以下为C语言100分答案

#include
typedef struct line     //ax+by+c=0
{
	float a;   
	float b;
	float c;
	int A0;  //标签为A在直线下方的点的个数 
	int A1;  //同上 
	int B0;
	int B1;
}LINE;
typedef struct dot 
{
	int x;   
	int y;
	char c;
}DOT;
int main()
{
	int n,m;
	int i,j,t;
	scanf("%d %d", &n, &m);
	DOT dot[n];
	LINE line[m];
	for(i=0;i0&&dot[j].c=='A')
			{
				line[i].A1++;
			}
			else if(t<0&&dot[j].c=='B')
			{
				line[i].B0++;
			}
			else if(t>0&&dot[j].c=='B')
			{
				line[i].B1++;
			}
		}
	}
	for(i=0;i
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/512072.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号