极角排序
来源:互联网 发布:测试手机信号强度软件 编辑:程序博客网 时间:2024/05/21 13:14
#include <iostream>
#include <cstring>
#include <math.h>
#include <algorithm>
#include <cstring>
#include <stdio.h>
using namespace std;
struct Point
{
double x,y;
}p[100];
double crossDet(Point p1,Point p2,Point p3)
{
return (p2.x-p1.x)*(p3.y-p1.y)-(p2.y-p1.y)*(p3.x-p1.x);
}
bool cmp2(const Point &a, const Point &b)
{
if (a.y == 0 && b.y == 0 && a.x*b.x <= 0)return a.x>b.x;
if (a.y == 0 && a.x >= 0 && b.y != 0)return true;
if (b.y == 0 && b.x >= 0 && a.y != 0)return false;
if (b.y*a.y <= 0)return a.y>b.y;
Point one;
one.y = one.x = 0;
return crossDet(one,a,b) > 0 || (crossDet(one,a,b) == 0 && a.y > b.y);
}
int main()
{
int n;
while(~scanf("%d",&n))
{
for(int i=0;i<n;i++)
{
scanf("%lf%lf",&p[i].x,&p[i].y);
}
sort(p,p+n,cmp2);
for(int i=0;i<n;i++)
printf("%lf %lf\n",p[i].x,p[i].y);
}
}
- 计算几何的排序--极角排序
- 极角排序
- 极角排序
- 极角排序
- 极角排序
- poj2007极角排序
- 极角排序
- 极角排序
- 极角排序
- 极角排序
- 极角排序 POJ1696
- 极角排序
- hdu5738(极角排序)
- 极角排序
- 极角排序
- 极角排序
- LightOJ1285->极角排序
- 极角排序
- 内存对齐的一道面试题目
- 爬取msdn.itellyou.cn网站
- Postgrel 常见操作(1)
- 关联容器
- UVA 1658 Admiral [费用流] [拆点]
- 极角排序
- 【POJ2463】Bungee Jumping
- 关于乱码的一些总结--项目过程的点点滴滴
- 很漂亮的bootstrap ace静态页面后台管理系统模板
- 跟我学Redis(15)—Redis主从复制
- 8、对象的容纳
- TOJ 3845.Cut Stick(斐波那契)
- 静态库的编写与使用
- POJ 1321 棋盘问题