码迷,mamicode.com
首页 > 其他好文 > 详细

POJ 2007 Scrambled Polygon (简单极角排序)

时间:2014-08-28 14:45:59      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   io   ar   for   div   

题目链接

题意 : 对输入的点极角排序

思路 : 极角排序方法

#include <iostream>
#include <cmath>
#include <stdio.h>
#include <algorithm>

using namespace std;

struct point
{
    double x,y;
}p[50],pp;
double cross(point a,point b,point c)
{
    return (a.x-c.x)*(b.y-c.y)-(b.x-c.x)*(a.y-c.y) ;
}
bool cmp(point a,point b)
{
    int cr = cross(a,b,pp) ;//判断顺时针还是逆时针
    if(cr > 0) return true ;
    else if(cr < 0) return false ;
}
int main()
{
    int cnt = 0;
    while (scanf("%lf %lf",&p[cnt].x,&p[cnt].y) != EOF)
    {
        ++cnt;
    }
    pp.x = pp.y = 0 ;
    sort(p+1,p+cnt,cmp);
    for (int i = 0 ; i < cnt ; i++)
    {
        cout<<"("<<p[i].x<<","<<p[i].y<<")"<<endl;
    }
    return 0;
}

 

POJ 2007 Scrambled Polygon (简单极角排序)

标签:style   blog   http   color   os   io   ar   for   div   

原文地址:http://www.cnblogs.com/luyingfeng/p/3941508.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!