LightOJ - 1305 Area of a Parallelogram (数学几何)水

LightOJ - 1305
Area of a Parallelogram
Time Limit:                                                        1000MS                        Memory Limit: 32768KB 64bit IO Format:                            %lld & %llu                       

SubmitStatus

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

Hint

Source

Problem Setter: Jane Alam Jan
//题意:告诉A,B,C三个点的坐标,并且三个点的顺序如图所示,输出D点坐标和平行四边形面积
#include<stdio.h>
#include<iostream>
#include<string.h>
#include<math.h>
#define PI acos(-1.0)
using namespace std;
double S(double x1,double y1,double x2,double y2,double x3,double y3)
{
	return (x2-x3)*(y1-y3)-(y2-y3)*(x1-x3);
}
int main()
{
	int t,T=1;
	scanf("%d",&t);
	while(t--)
	{
		double x,x1,x2,x3,x4,y,y1,y2,y3,y4;
		double s;
		scanf("%lf%lf%lf%lf%lf%lf",&x1,&y1,&x2,&y2,&x3,&y3);
		x=x2-x1;y=y2-y1;
		x4=x3-x;y4=y3-y;
		s=(fabs)(S(x1,y1,x2,y2,x3,y3));
		printf("Case %d: %d %d %d\n",T++,(int)x4,(int)y4,(int)s);
	}
	return 0;
}

 

你可能感兴趣的:(LightOJ - 1305 Area of a Parallelogram (数学几何)水)