1932- 我是一道数学题 ZCMU

一位王子必须解决一个数学难题,找到等边三角形的第三个顶点,才能从野兽手中救出被困的公主。输入是两个已知顶点的坐标,任务是计算第三个未知顶点的坐标。

Description

几天前,一只野兽抓住了一位美丽的公主,公主被关进监狱。 ,一个想要嫁给公主的王子立即出发去拯救公主。 然而,野兽设置了一个迷宫。 只有当王子找出迷宫的出口才能救他的公主。

现在,这里出现了问题。 迷宫是一个维度平面。 野兽很聪明,他很好地隐藏了公主。 他在迷宫中标出了一个等边三角形的两个坐标。 两个标记的坐标是A(x1,y1)和B(x2,y2)。 第三坐标C(x3,y3)是迷宫的出口。 如果王子能找出出口,他可以拯救公主。 王子进入迷宫之后,他发现A(x1,y1)和B(x2,y2),但他不知道C(x3,y3)在哪里。 王子需要你的帮助。 你可以计算C(x3,y3)并告诉他吗?

Input

第一行是测试用例数的整数T(1 <= T <= 100)。 T测试案例如下。 每个测试用例包含由四个浮点数x1,y1,x2,y2(| x1 |,| y1 |,| x2 |,| y2 |)表示的两个坐标A(x1,y1)和B(x2,y2) <= 1000.0)。

 请注意,A(x1,y1)和B(x2,y2)和C(x3,y3)在等边三角形的逆时针方向。 坐标A(x1,y1)和B(x2,y2)通过逆时针给出。

Output

对于每个测试用例,输出C(x3,y3)的坐标,结果应在一行中保留2位小数。

Sample Input

4

-100.00 0.00 0.00 0.00

0.00 0.00 0.00 100.00

0.00 0.00 100.00 100.00

1.00 0.00 1.866 0.50

Sample Output

(-50.00,86.60)

(-86.60,50.00)

(-36.60,136.60)

(1.00,1.00)

代码

#include<bits/stdc++.h>
using namespace std;
#define Pi sqrt(3.0)/2.0
int main()
{
    double x1,y1,x2,y2;
    int T;
    scanf("%d",&T);
    while(T--)
    {
        scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
        double x3=(x1+x2)/2.0-(y2-y1)*Pi;
        double y3=(y1+y2)/2.0+(x2-x1)*Pi;
        printf("(%.2f,%.2f)\n",x3,y3);
    }
    return 0;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值