⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zp2107_p.cpp

📁 一个acm题目系统会自动删除debug和release目录
💻 CPP
字号:
#include <cstdio> 
#include <cmath> 
#include <cstdlib> 

using namespace std; 

const int Maxn = 100010; 
const double inf = 1e19; 

struct Point { 
    double x, y; 
}; 

Point P[Maxn]; 
int   N; 

double Dis(Point a, Point b) { 
    return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); 
} 

int Cmp(void const *a, void const *b) { 

    Point p1 = *(Point*)a, p2 = *(Point*)b; 
    if (p1.x+p1.y < p2.x+p2.y) { 
        return -1; 
    } 
    return 1; 
} 

int Init() { 

    scanf("%d", &N); 
    for (int k=0; k<N; k++) { 
        scanf("%lf%lf", &P[k].x, &P[k].y); 
    } 
    qsort(P, N, sizeof(P[0]), Cmp); 
    
    return N; 
} 

double Solve() { 
    double Min = inf, t; 
    int i, j; 
    
    for (i=0; i<N; i++) { 
        for (j=i+1; j<i+20 && j<N; j++) { 
            t = Dis(P[i], P[j]); 
            if (t < Min) { 
                Min = t; 
            } 
        } 
    } 
    
    return sqrt(Min)/2; 
} 

int main() { 

    while (Init() != 0) { 
        printf("%.2lf\n", Solve()); 
    } 
    
    return 0; 
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -