社区讨论

哪里炸了,80分

P1355神秘大三角参与者 7已保存回复 10

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
10 条
当前快照
1 份
快照标识符
@mi7x5kgy
此快照首次捕获于
2025/11/21 05:04
4 个月前
此快照最后确认于
2025/11/21 05:04
4 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
struct point
{
	int x,y;
	inline void in()
	{
		char c;
		cin>>c>>x>>c>>y>>c;
	}
	inline bool operator ==(point b)
	{
		if(x==b.x&&y==b.y) return true;
		return false;
	}
};
inline double dis(point a,point b)
{
	return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
}
inline double s(point a,point b,point c)
{
	double x1=dis(a,b),x2=dis(b,c),x3=dis(a,c);
	double x=(x1+x2+x3)/2;
	return sqrt(x*(x-x1)*(x-x2)*(x-x3));
}
point a,b,c,p;
int main()
{
	a.in();b.in();c.in();p.in();
	if(a==p||b==p||c==p)
	{
		printf("4\n");
		return 0;
	}
	int abc=s(a,b,c)*100,abp=s(a,b,p)*100,acp=s(a,c,p)*100,bcp=s(b,c,p)*100;
	if(abp+acp+bcp>abc)
	{
		printf("2\n");
		return 0;
	}
	if(!abp||!acp||!bcp)
	{
		printf("3\n");
		return 0;
	}
	printf("1\n");
	return 0;
}
大佬帮忙查看。

回复

10 条回复,欢迎继续交流。

正在加载回复...