here
附上代码
#include<bits/stdc++.h>
#define int long long
#define il inline
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);
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;
return;
}
il void turnp()
{
double sinp=sinC*cos60+cosC*sin60;
double cosp=-sinC*sin60+cosC*cos60;
yo=sinp*b,xo=-cosp*c+a;
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()
{
x_ans=(b1-b2)/(kp-k);
y_ans=k*x_ans+b1;
return;
}
signed main()
{
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;
}