题目链接:点击打开链接
#include <cstdio>
#include <cmath>
const int N = 105;
int x[N], y[N], n;
double Fabs(double x) {
return x>0?x:(-x);
}
double dist(int i, int j) {
return (x[i] - x[j])*(x[i] - x[j]) + (y[i] - y[j])*(y[i] - y[j]);
}
double find(double xx, double yy) {
double r = 0.1;
for(int i = 0; i < n; i ++) {
double d = (x[i] - xx)*(x[i] - xx) + (y[i] - yy)*(y[i] - yy);
if( d > r ) r = d;
}
return sqrt(r);
}
int main() {
while(~scanf("%d", &n)) {
for(int i = 0; i < n; i ++) {
scanf("%d %d", &x[i], &y[i]);
}
if(n == 1) {
printf("%d %d 1\n", x[0]-1, y[0]);
continue;
}
int ii = 0, jj = 1;
for(int i = 0; i < n; i ++) {
for(int j = i+1; j < n; j ++) {
if(dist(i, j) > dist(ii, jj)) {
ii = i;
jj = j;
}
}
}
double nx = Fabs(x[ii] - x[jj]) / 2.0, ny = Fabs(y[ii] - y[jj]) / 2.0;
nx += 0.1;
printf("%.12f %.12f %.12f\n", nx, ny, find(nx, ny));
}
return 0;
}
/*
3
0 2
2 0
1 1
3
-1000 -1000
1000 1000
0 0
*/