POJ 2007 极角排序

题意:给出一个凸包的顶点,以第一次输入进去的点按逆时针方向排序。

看到有人说是凸包题,题意已经明确是凸包的顶点所以没有必要再用Graham模板。利用叉积的性质对极角进行排序就可以。

#include <iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
struct point
{
    int x,y;
};
int Direction(point a,point b,point c)
{
    return (b.x-a.x)*(c.y-a.y)-(c.x-a.x)*(b.y-a.y);
}
point t,data[51];
bool cmp(point a,point b)
{
    if(Direction(t,a,b)>=0)
        return 1;
    return 0;
}
int main()
{
    int n=0,x,y;
    while(~scanf("%d%d",&x,&y))
        data[n].x=x,data[n].y=y,++n;
    t.x=data[0].x,t.y=data[0].y;
    sort(data+1,data+n,cmp);
    for(int i=0; i<n; i++)
        printf("(%d,%d)\n",data[i].x,data[i].y);
    return 0;
}
时间: 2024-12-25 17:16:27

POJ 2007 极角排序的相关文章

POJ 1106 极角排序

题意给出一些点片段圆心为t半径为r的半圆最大能覆盖多少个点. 首先在输入的时候把距离大于半径的点筛出去.剩余点通过极角排序然后枚举半圆的一条边通过该点能覆盖的点数取最大值就可以了. #include <iostream> #include<cstdio> #include<algorithm> using namespace std; struct point { int x,y; }; int Direction(point a,point b,point c) {

Word 2007表格排序

Word 2007表格排序 step1:文本转换为表格 插入-表格-文本转换为表格 step2:表格工具-布局-排序 step3:选择合适的排序方式

UVa 755 / POJ 1002 487--3279 (排序)

755 - 487--3279 Time limit: 3.000 seconds http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=98&page=show_problem&problem=696 http://poj.org/problem?id=1002 Businesses like to have memorable telephone numbers. On

用好Excel 2007的筛选和排序功能

很多人在用上Excel 2007之后可能都会惊叹于Excel 2007功能的强大,对于普通用户来说,Excel 2007最为强大的便是其数据分析能力.如果只是使用表格来记录一些简单的数据,那么使用Word 2007的表格功能就可以完成,完全没有必要请Excel 2007这位数据分析大师出马.不过数据分析也是一件说着容易做起来难的事情,这里就学习一下,如何利用筛选和排序功能,从最基本的数据分析工作做起. 筛选! 给数据"过筛子" 股市终于大涨啦,郁闷已久的股民终于看到曙光了!在众多被&q

poj 1094 Sorting It All Out(拓扑排序)

链接: http://poj.org/problem?id=1094 题目: Sorting It All Out Time Limit: 1000MS     Memory Limit: 10000K Total Submissions: 21532     Accepted: 7403 Description An ascending sorted sequence of distinct values is one in which some form of a less-than ope

Excel2007的筛选和排序功能的使用

  Excel 2007的筛选和排序功能的使用,使用word处理表格,数据较少的情况下还可以,数据量稍微大一点,还是得请Excel 2007这位表格专家出马.在数据量多的情况下,如何快速找到自己想要的数据又成了问题,筛选+排序,绝对是个找数据的能手. 很多人在用上Excel 2007之后可能都会惊叹于Excel 2007功能的强大,对于普通用户来说,Excel 2007最为强大的便是其数据分析能力.如果只是使用表格来记录一些简单的数据,那么使用Word 2007的表格功能就可以完成,完全没有必要

poj 2780 Linearity 【高效版 同一条直线上的点】

这道题才真的没有那么的水,可能因为测试数据很多,然后又每个数据有1000个点要处理,用O(n^3)的三重循环直接TLE掉了... 所以得另想办法,后来参考了一下别人的想法,得用极角排序,一个sort()就可以了,极角为0的因为无法做分母,所以得单独考虑,终于AC... AC的代码: #include <stdio.h> #include <iostream> #include <algorithm> using namespace std; int x[1002],y[

POJ 1228 凸包

这题考察凸包的理解,题意让求一个凸包上每条边都有三个点,如果少于三个点那么凸包就不确定了,三点以上如果再加一个点就形成不了凸包了.通过极角排序完然后求跟凸包的相邻两点共线的点有没有就可以了,写得比较挫... (1)此题需要判断"凸包上每条边至少包含原多边形三个点".成立就是"YES". 我试的判断"多边形上 所有点 在凸包上",WA!! (2)注意:所有点共线时,结果为"NO". (3)另外由上面(1)判断可的,n<=5

《Access 2007开发指南(修订版)》一一2.4 为数据选择适当的字段类型

2.4 为数据选择适当的字段类型 Access 2007开发指南(修订版) 为各个字段选择的数据类型对应用程序的性能及其功能有很大影响.以下几个因素会影响到对表中各个字段数据类型的选择: 字段中所存储的数据类型: 字段的内容是否需要包含在算式中: 是否需要按字段的数据进行排序: 按字段的数据进行排序的方式: 存储空间对用户来说是否特别重要. 需要在字段中存储的数据类型对数据类型的选择影响最大.例如,如果要存储以0起始的数字,那么就不应该选择"数字"字段,因为输入到"数字&qu