sdut 2603 Rescue The Princess (很水的几何题)

给出等边三角形的两个点,求另外一个点。画一个图,直接乱搞下。

#include<iostream>
#include<math.h>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<vector>
#include<queue>
#include<map>
#include<set>
#define B(x) (1<<(x))
using namespace std;
typedef long long ll;
void cmax(int& a,int b){ if(b>a)a=b; }
void cmin(int& a,int b){ if(b<a)a=b; }
void cmax(ll& a,ll b){ if(b>a)a=b; }
void cmin(ll& a,ll b){ if(b<a)a=b; }
void add(int& a,int b,int mod){ a=(a+b)%mod; }
void add(ll& a,ll b,ll mod){ a=(a+b)%mod; }
const int oo=0x3f3f3f3f;
const int MOD=2012;
const int maxn=110000;
char str[maxn];
int dp[30],s[maxn];
int dpl[maxn],dpr[maxn];
const double PI=acos(-1.0);

int main(){
    //freopen("E:\\read.txt","r",stdin);
    int T;
    double x1,y1,x2,y2,x3,y3;
    scanf("%d",&T);
    while(T--){
        scanf("%lf %lf %lf %lf",&x1,&y1,&x2,&y2);
        double L=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
        double a=atan2(y2-y1,x2-x1);
        x3=x1+L*cos(a+PI/3.0);
        y3=y1+L*sin(a+PI/3.0);
        printf("(%.2lf,%.2lf)\n",x3,y3);
    }
    return 0;
}







你可能感兴趣的:(sdut 2603 Rescue The Princess (很水的几何题))