hdu-1007-Quoit Design

来源:互联网 发布:linux 用终端打开文件 编辑:程序博客网 时间:2024/05/29 23:22

#include<cstdio>
#include<cmath>
#include<iostream>
#include<algorithm>
using namespace std;
struct node
{

    double x;
    double y;
}a[100010];
int cmp1(const node &a,const node &b)
{
 if(fabs(a.y-b.y)<1e-8)
    return a.x<b.x;
 return a.y<b.y;
}
int cmp2(const node &a,const node &b)
{
 if(fabs(a.x-b.x)<1e-8)
    return a.y<b.y;
 return a.x<b.x;
}
int main()
{

    int n,i;
    while(cin>>n&&n)
    {
        double d1,d2=9999999.0;
        for(i=0;i<n;i++)
            cin>>a[i].x>>a[i].y;
            sort(a,a+n,cmp1);
            for(i=1;i<n;i++)
   {
                d1=(a[i].x-a[i-1].x)*(a[i].x-a[i-1].x)+(a[i].y-a[i-1].y)*(a[i].y-a[i-1].y);
    if(d2>d1)
     d2=d1;
   }
            sort(a,a+n,cmp2);
            for(i=1;i<n;i++)
            {
           
    d1=(a[i].x-a[i-1].x)*(a[i].x-a[i-1].x)+(a[i].y-a[i-1].y)*(a[i].y-a[i-1].y);
    if(d2>d1)
     d2=d1;
   }
            printf("%.2lf\n",sqrt(d2)/2);
    }
    return 0;
}

0 0
原创粉丝点击