Description
给出一平行四边形相邻两边的端点坐标,问该平行四边形第四个顶点坐标
Input
多组用例,每组用例占一行包括八个浮点数,表示一平行四边形相邻两边的两个顶点坐标
Output
输出第四个顶点的坐标
Sample Input
0.000 0.000 0.000 1.000 0.000 1.000 1.000 1.000
1.000 0.000 3.500 3.500 3.500 3.500 0.000 1.000
1.866 0.000 3.127 3.543 3.127 3.543 1.412 3.145
Sample Output
1.000 0.000
-2.500 -2.500
0.151 -0.398
Solution
简单题
Code
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
struct node
{
double x,y;
}a[5],ans;
int main()
{
while(~scanf("%lf%lf",&a[0].x,&a[0].y))
{
for(int i=1;i<=3;i++)scanf("%lf%lf",&a[i].x,&a[i].y);
for(int i=0;i<4;i++)
for(int j=i+1;j<4;j++)
if(a[i].x==a[j].x&&a[i].y==a[j].y)
ans=a[i];
ans.x*=-3,ans.y*=-3;
for(int i=0;i<4;i++)ans.x+=a[i].x,ans.y+=a[i].y;
printf("%.3lf %.3lf\n",ans.x,ans.y);
}
return 0;
}

本文介绍了一个简单的算法,用于根据平行四边形相邻两边的端点坐标计算其第四个顶点的坐标。通过输入四个顶点中的三个,算法能够准确地找到最后一个顶点的位置。
1804

被折叠的 条评论
为什么被折叠?



