天天看點

uva10245 The Closest Pair Problem

暴力即可

注意1、暴力過程中不用開平方,最後開一次即可。2、小于等于10000。3、用double

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define MAX 10010
using namespace std;

double s[MAX][2];

int main()
{
    int n,i,j,flag;
    double small,temp;
    while(scanf("%d",&n)&&n)
    {
        small=100000000.f;
        flag=0;
        for(i=0;i<n;i++)
            scanf("%lf %lf",&s[i][0],&s[i][1]);
        for(i=0;i<n;i++)
            for(j=i+1;j<n;j++)
        {
            temp=(s[i][0]-s[j][0])*(s[i][0]-s[j][0])+(s[i][1]-s[j][1])*(s[i][1]-s[j][1]);
            if(temp<=small)
            {
              small=temp;
              flag=1;
            }
        }
        if(small==100000000.f||n<=1||flag==0)
            printf("INFINITY\n");
        else
            printf("%.4lf\n",sqrt(small));
    }
    return 0;
}