又,难度待评
  • 板块灌水区
  • 楼主Thronf
  • 当前回复4
  • 已保存回复4
  • 发布时间2024/7/22 16:26
  • 上次更新2024/7/22 17:15:12
查看原帖
又,难度待评
976559
Thronf楼主2024/7/22 16:26

here

附上代码

#include<bits/stdc++.h>
#define int long long
#define il inline
//#define for(i,a,b,c,d) for(int i=a;i d b;i+=c)
using namespace std;
double a,b,c;
const double sin60=sqrt(3)/2;
const double cos60=1.0/2.0;
double xa,xb,xc,ya,yb,yc,xp,yp,k,b1,xo,yo,x_ans,y_ans,kp,b2;
double sinA,sinB,sinC,cosA,cosB,cosC;
il void ECS(double a,double b,double c){
	xc=a;
	cosC=-(-a*a-b*b+c*c)/(2.0*a*b);
	cosA=-(+a*a-b*b-c*c)/(2.0*b*c);
	cosB=-(-a*a+b*b-c*c)/(2.0*a*c);
//	cout<<cosA<<" "<<cosB<<" "<<cosC<<endl;
	sinA=sqrt(1-cosA*cosA);
	sinB=sqrt(1-cosB*cosB);
	sinC=sqrt(1-cosC*cosC);
	ya=sinB*c;
	xa=cosB*c;
	return;
}
il void turn()
{
	double sinp=sinB*cos60+cosB*sin60;
	double cosp=-sinB*sin60+cosB*cos60;
	yp=sinp*c,xp=cosp*c;
//	cout<<xp<<" "<<yp<<endl;
	return;
}
il void turnp()
{
	double sinp=sinC*cos60+cosC*sin60;
	double cosp=-sinC*sin60+cosC*cos60;
	yo=sinp*b,xo=-cosp*c+a;
//	cout<<xo<<" "<<yo<<endl;
	return;
}
il void line1(double x1,double y1,double x2,double y2)
{
	k=(y1-y2)/(x1-x2);
	b1=y1-(k*x1);
	return;
}
il void line2(double x1,double y1,double x2,double y2)
{
	kp=(y1-y2)/(x1-x2);
	b2=y1-(kp*x1);
	return;
}
il void solve_equation()
{
//	cout<<kp<<" "<<b2<<" "<<k<<" "<<b1<<endl;
	x_ans=(b1-b2)/(kp-k);
	y_ans=k*x_ans+b1;
	return;
}
signed main()
{
//	freopen("5.in","r",stdin);
//	freopen("5.out","w",stdout);
	cin>>a>>b>>c;
	ECS(a,b,c);
	turn();
	turnp();
	line1(xp,yp,xc,yc);
	line2(xo,yo,0,0);
	solve_equation();
	printf("(%.2lf,%.2lf)",x_ans,y_ans);
	return 0;
}
2024/7/22 16:26
加载中...