不按顺序给出凸多边形的顶点。从原点开始逆时针遍历凸多边形的顶点并给出顶点坐标。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;//叉积排序
//例题
struct P{
int x;
int y;
};
bool cmp(struct P p,struct P q)
{
return p.x*q.y-q.x*p.y>0;//例题(q-(0,0))^(p-(0,0))>0
}
int main()
{
vector<struct P> da;
while(1)
{
int a,b;
cin>>a>>b;
if(cin.eof()==1)
{
break;
}
struct P t;
t.x=a;
t.y=b;
da.push_back(t);
}
sort(da.begin()+1,da.end(),cmp);//网上都没排第1个
int N=da.size();
for(int i=0;i<N;i++)
{
cout<<"("<<da[i].x<<","<<da[i].y<<")"<<endl;
}
return 0;
}