您的位置:首页 > 其它

周赛

2016-08-25 17:12 183 查看
 B 圆周率用acos(-1.0) 使用longlong
Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu
Submit Status Practice LightOJ
1305 

uDebug


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 ofABCD 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, Band 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

#include<cstdio>
#include<math.h>
#include<cstring>
#include<algorithm>
using namespace std;
#define pi acos(-1.0)
int main()
{
int t,cont=0;
double ax,ay,bx,by,cx,cy,dx,dy;
double x;
double cin1,cin2,cin3,a,b,c,s;
double sin3;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf%lf%lf%lf",&ax,&ay,&bx,&by,&cx,&cy);
dx=cx+ax-bx;
dy=cy+ay-by;
a=sqrt((cy-by)*(cy-by)+(cx-bx)*(cx-bx));
b=sqrt((cy-ay)*(cy-ay)+(cx-ax)*(cx-ax));
c=sqrt((by-ay)*(by-ay)+(bx-ax)*(bx-ax));
if(a<0)
a=-a;
if(b<0)
b=-b;
if(c<0)
c=-c;
cin1=(b*b+c*c-a*a)/(2*b*c);
cin2=(a*a+c*c-b*b)/(2*a*c);
cin3=(a*a+b*b-c*c)/(2*a*b);
sin3=sqrt(1-pow(cin3,2));

s=a*b*sin3;
printf("Case %d: %.0lf %.0lf %.0lf\n",++cont,dx,dy,s);
}
return 0;
}//BBBBBBBBbbb
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  小数学