题目链接:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2603
Rescue The Princess
题目大意:给你两个点,让你逆时针找出和这两个点构成正三角形的第三个点。灵活运用atan2()函数,即可快速求解。
#include<iostream>
#include<cstdio>
#include<cmath>
#define pi acos(-1.0)
using namespace std;
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
double x1,y1,x2,y2,x3,y3;
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
x3=x1-cos(pi/3+atan2(y1-y2,x1-x2))*sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
y3=y1-sin(pi/3+atan2(y1-y2,x1-x2))*sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("(%.2lf,%.2lf)\n",x3,y3);
}
return 0;
}