poj 2007 Scrambled Polygon
2010-11-19 11:46
120 查看
有了poj 1113的积累,这题就是凸包的精简版,一看到题目,马上有思路,AC的感觉就是好
#include<iostream> using namespace std; #include<cmath> #include<cstdlib> #include<cstdio> struct point { double x,y; }; point input[60]; double multi(point p1,point p2,point p0) { return (p1.x-p0.x)*(p2.y-p0.y)-(p2.x-p0.x)*(p1.y-p0.y); } int cmp(const void *p1,const void *p2) { double m; point p3,p4; p3=*(point *)p1,p4=*(point *)p2; m=multi(p3,p4,input[0]); if(m<0) return 1; else return -1; } int main() { int i=0,pos,j,k; point Min,temp; Min.y=1010; while(scanf("%lf%lf",&input[i].x,&input[i].y)!=EOF) { if(input[i].y<Min.y|| input[i].y==Min.y&&input[i].x<Min.x) { Min=input[i],pos=i; } i++; } temp=input[0]; input[0]=input[pos]; input[pos]=temp; qsort(input+1,i-1,sizeof(input[1]),cmp); for(j=0;j<i;j++) { if(input[j].x==0) break; } for(k=j;k<i;k++) printf("(%.lf,%.lf)/n",input[k].x,input[k].y); for(k=0;k<j;k++) printf("(%.lf,%.lf)/n",input[k].x,input[k].y); return 0; }
相关文章推荐
- poj 3279 Filptile (USACO 2007 Open Silver)
- poj 2007 Scrambled Polygon--按极角排序
- Scrambled Polygon--poj2007(极角排序模板)
- poj 2007 Scrambled Polygon
- POJ 2007 Scrambled Polygon 极角排序
- poj 2007(极角排序)
- POJ 3273 USACO 2007 Mar Monthly Expense 二分答案
- POJ P3264 USACO 2007 洛谷 P2880 January Silver Balanced Lineup【线段树】
- POJ 2007 Scrambled Polygon
- poj 2007
- poj 2007 Scrambled Polygon
- POJ 2007 Scrambled Polygon(凸包)
- POJ 3613/bzoj 1706: [usaco2007 Nov]Cow Relays 奶牛接力跑
- POJ 2007 Scrambled Polygon
- POJ 2007 Scrambled Polygon(极角排序)
- POJ 2007 Scrambled Polygon(极角排序)
- POJ-3287-The Trip, 2007
- poj 3278 && bzoj 1646: [Usaco2007 Open]Catch That Cow 抓住那只牛(BFS)
- poj 2007 Graham-Scan算法
- POJ2007 凸包