【LightOJ 1305】
发布日期:2021-11-04 12:59:23 浏览次数:13 分类:技术文章

本文共 1668 字,大约阅读时间需要 5 分钟。

Description

A parallelogram is a quadrilateral with two pairs of parallel sides. See the picture below:

这里写图片描述

Fig: a parallelogram

Now you are given the co ordinates of A, B and C, you have to find the coordinates of D and the area of the parallelogram. The orientation of ABCD should be same as in the picture.

Input

Input starts with an integer T (≤ 1000), denoting the number of test cases.

Each case starts with a line containing six integers Ax, Ay, Bx, By, Cx, Cy where (Ax, Ay) denotes the coordinate of A, (Bx, By) denotes the coordinate of B and (Cx, Cy) denotes the coordinate of C. Value of any coordinate lies in the range [-1000, 1000]. And you can assume that A, B and C will not be collinear.

Output

For each case, print the case number and three integers where the first two should be the coordinate of D and the third one should be the area of the parallelogram.

Sample Input

3
0 0 10 0 10 10
0 0 10 0 10 -20
-12 -10 21 21 1 40
Sample Output
Case 1: 0 10 100
Case 2: 0 -20 200
Case 3: -32 9 1247

cos Q=(a^2+b^2-c^2)/(2* a * b);

谨以此题记录暑期培训最后一次比赛~~~

#include
#include
using namespace std;int main(){ int nl=1,T; double a1,a2,b1,b2,c1,c2,x,y,ka,kb,kc,q,ans; scanf("%d",&T); while(T--) { scanf("%lf%lf%lf%lf%lf%lf",&a1,&a2,&b1,&b2,&c1,&c2); x=c1-(b1-a1); y=c2-(b2-a2); ka=(a1-b1)*(a1-b1)+(a2-b2)*(a2-b2); kb=(c1-b1)*(c1-b1)+(c2-b2)*(c2-b2); kc=(c1-a1)*(c1-a1)+(c2-a2)*(c2-a2); q=ka+kb-kc; ka=sqrt(ka); kb=sqrt(kb); q/=2*ka*kb;//求出 cos 值 q=sqrt(1-q*q); ans=ka*kb*q;//求出面积=a*b*sin a/2,两个三角形乘以二 printf("Case %d: %.0lf %.0lf %.0lf\n",nl++,x,y,ans); } return 0;}

转载地址:https://blog.csdn.net/WYK1823376647/article/details/52324961 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【LightOJ 1331 】
下一篇:【HDU 5100 Chessboard 】

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月25日 13时35分27秒