为什么自己编译器上没问题,提交过来编译失败???
查看原帖
为什么自己编译器上没问题,提交过来编译失败???
1036281
mayisang楼主2023/9/9 01:09
#include<bits/stdc++.h>
using namespace std;
int x1,x2,x3,y1,y2,y3,x4,y4;
double s1,s2,s3,ss;
char kh;
double length(int x1,int y1,int x2,int y2){
	return sqrt(pow((x2-x1),2)+pow((y2-y1),2));
}
double Size(int x1,int y1,int x2,int y2,int x3,int y3){
	double l1,l2,l3,lp;
	l1=length(x1,y1,x2,y2);
	l2=length(x2,y2,x3,y3);
	l3=length(x3,y3,x1,y1);
	lp=(l1+l2+l3)/2;
	return sqrt(lp*(lp-l1)*(lp-l2)*(lp-l3));
}
bool on_dot(int x1,int y1,int x2,int y2){
	return x1==x2&&y1==y2;
}
bool on_line(int x1,int y1,int x2,int y2,int x3,int y3){
	double k1,k2;
	if(x2==x1||x2==x3||x1==x3){
		return false;
	}
	k1=(y1-y2)/(x1-x2)*1.0;
	k2=(y3-y2)/(x3-x2)*1.0;
	return k1==k2&&!on_dot(x1,y1,x3,y3)&&!on_dot(x2,y2,x3,y3);
}
int main(){
	cin>>kh>>x1>>kh>>y1>>kh;
	cin>>kh>>x2>>kh>>y2>>kh;
	cin>>kh>>x3>>kh>>y3>>kh;
	cin>>kh>>x4>>kh>>y4>>kh;
	s1=Size(x1,y1,x2,y2,x4,y4);
	s2=Size(x1,y1,x3,y3,x4,y4);
	s3=Size(x2,y2,x3,y3,x4,y4);
	ss=Size(x1,y1,x2,y2,x3,y3);
	if(on_dot(x1,y1,x4,y4)||on_dot(x2,y2,x4,y4)||on_dot(x3,y3,x4,y4)){
		cout<<4<<endl;
		return 0;
	}
	if(on_line(x1,y1,x2,y2,x3,y3)||on_line(x2,y2,x3,y3,x4,y4)||on_line(x1,y1,x3,y3,x4,y4)){
		cout<<3<<endl;
		return 0;
	}
	if(fabs(ss-s1-s2-s3)<=0.0001){
		cout<<1<<endl;
		return 0; 
	}
	cout<<2<<endl;
	return 0;
}
2023/9/9 01:09
加载中...