POJ 2007 计算几何 叉积

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

//利用叉积排序

////从A点指向B点的矢量AB可用B-A来表示

////如果p1^p2 〉0,说明p1经逆时针旋转<180度可以到p2,则 p1 < p2


#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
using namespace std;
struct Vec
{
    double x,y;
    Vec(int xx,int yy):x(xx),y(yy) {}
    Vec() {}
    double operator ^ (const Vec& v) const
    {
        return x*v.y-v.x*y;
    }
};
Vec operator - (const Vec& a,const Vec& b)
{
    return Vec(a.x-b.x,a.y-b.y);
}
bool operator < (const Vec& a,const Vec& b)
{
    if ((a^b)>0)
        return true;
    return false;
}
Vec Points[100];
int main()
{
    int n=0;
    while (cin>>Points[n].x>>Points[n].y)
        n++;
    sort(Points+1,Points+n);
    cout<<"(0,0)"<for (int i=1;icout<<"("<","<")"<return 0;
}

你可能感兴趣的:(acm)