POJ 2624 算平行四边形的第四个点

//http://poj.org/problem?id=2624


//由向量计算推公式


#include<stdio.h>
#include<string>
#include<cstring>
#include<queue>
#include<algorithm>
#include<functional>
#include<vector>
#include<iomanip>
#include<math.h>
#include<iostream>
#include<sstream>
#include<stack>
#include<set>
#include<bitset>
using namespace std;
struct Vec
{
    double x,y;
    Vec(int xx,int yy):x(xx),y(yy) {}
    Vec(double xx,double yy):x(xx),y(yy) {}
    Vec() {}
    double operator ^ (const Vec& v) const
    {
        return x*v.y-v.x*y;
    }
    Vec operator + (const Vec& v) const
    {
        return Vec(x+v.x,y+v.y);
    }
    Vec operator - (const Vec& v) const
    {
        return Vec(x-v.x,y-v.y);
    }
};
int main()
{
    cout<<fixed<<setprecision(3);
    double x[4],y[4];
    while (cin>>x[0]>>y[0]>>x[1]>>y[1]>>x[2]>>y[2]>>x[3]>>y[3])
    {
        double AnsX,AnsY;
        for (int i=0; i<4; i++)
            for (int j=i+1; j<4; j++)
                if (x[i]==x[j]&&y[i]==y[j])
                    AnsX=x[i],AnsY=y[i];
        AnsX*=-3,AnsY*=-3;
        for (int i=0;i<4;i++)
            AnsX+=x[i],AnsY+=y[i];
        cout<<AnsX<<' '<<AnsY<<endl;
    }
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值