zoukankan      html  css  js  c++  java
  • 极角排序

      名词释义:在平面内取一个定点O,叫极点,引一条射线Ox,叫做极轴,再选定一个长度单位和角度的正方向(通常取逆时针方向)。对于平面内任何一点M,用ρ表示线段OM的长度(有时也用r表示),θ表示从Ox到OM的角度,ρ叫做点M的极径,θ叫做点M的极角,有序数对 (ρ,θ)就叫点M的极坐标。可以将平面内的点排成一个环。

    #include<stdio.h>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    #define MAXN 55
    struct Node
    {
        int x,y;
    };
    Node p[MAXN];
    int cross(Node p0,Node p1,Node p2)
    {
        return (p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x);
    }        
    bool cmp(Node p1,Node p2)
    {
        int tmp=cross(p[0],p1,p2);
        if(tmp>0) return true;
        else return false;
    }    
    
    int main()
    {
       // freopen("test.in","r",stdin);
        //freopen("test.out","w",stdout);
        int n=0;
        while(scanf("%d%d",&p[n].x,&p[n].y)!=EOF)n++;
        sort(p+1,p+n,cmp);
        for(int i=0;i<n;i++)
          printf("(%d,%d)
    ",p[i].x,p[i].y);
       // system("pause");
        return 0;
    }
  • 相关阅读:
    数据结构-图
    web.xml的运行顺序
    如何把自己打造成技术圈的 papi 酱
    也谈http中get和post
    手机充电速度及电池使用
    web项目Log4j日志输出路径配置问题
    JAVA模块化
    关于web安全
    Struts2中通配符
    2016第14周一
  • 原文地址:https://www.cnblogs.com/doggod/p/9749492.html
Copyright © 2011-2022 走看看