poj2007

系统 1748 0

极角排序,其实是叉乘排序

 

    #include <iostream>

#include <algorithm>

#include <math.h>

#include <vector>



using namespace std;



#define eps 1e-8



struct point

{

	double x, y;

} s;



double getangle(point a)

{

	return atan2(a.y, a.x);

}

double xmult(point p1, point p2, point p0)

{

	return (p1.x - p0.x)*(p2.y - p0.y) - (p2.x - p0.x)*(p1.y - p0.y);

}

bool operator < (point a, point b)

{

	return xmult(a, b, s) > eps;

}



int main()

{

	vector<point> p;

	double a, b;

	//freopen("D:\\b.txt", "r", stdin);

	cin >> s.x >> s.y;

	while (cin >> a >> b)

	{

		point temp;

		temp.x = a, temp.y = b;

		p.push_back(temp);

	}

	sort(p.begin(), p.end());

	cout << "(0,0)" << endl;

	for (vector<point>::iterator it = p.begin(); it != p.end(); ++it)

	{

		cout << '(' << (*it).x << ',' << (*it).y << ')' << endl;

	}

}
  


 

 

poj2007


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论