UVA 10245

来源:互联网 发布:arcgis导出栅格数据 编辑:程序博客网 时间:2024/06/14 02:20

  最近点对问题,可以用分治算法nlogn解出,但是实在不愿费劲了,直接暴力,注意下剪枝159ms飘过。

#include <iostream>#include <algorithm>#include <cstdio>#include <cmath>using namespace std;struct test{double x,y;}c[10010];bool cmp(struct test a,struct test b){return a.x<b.x;}int main(){int n;while(cin>>n&&n){for(int i=1;i<=n;i++) cin>>c[i].x>>c[i].y;double ans=80000;sort(c+1,c+n+1,cmp);for(int i=1;i<=n;i++){double dx,dy;for(int j=i+1;j<=n&&(dx=c[j].x-c[i].x)<ans;j++){if(dx>=10000) continue;if((dy=c[j].y-c[i].y)>=ans) continue;if(dy>=10000) continue;ans=min(ans,sqrt(dy*dy+dx*dx));}}if(ans-10000>0.0000005) printf("INFINITY\n");else printf("%.4lf\n",ans);}return 0;}


 

0 0
原创粉丝点击