code
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstdlib>
#include <time.h>
#include <math.h>
using namespace std;
const int maxN=2001;
int n;
double t=3000;
double t0=1e-14;
double down=0.996;
double sumx,sumy;
double ans;
double ex,ey;
double x,y;
struct node {
double x,y;
int data;
}a[maxN];
double power(double x,double y){
double p=0;
for(int i=1;i<=n;i++){
double temp=(x-a[i].x)*(x-a[i].x)+(y-a[i].y)*(y-a[i].y);
p+=sqrt(temp);
}
return p;
}
void ltfd(){
double t=2000;
//ex=sumx,ey=sumy;
while(t>t0){
//rand() 0~RAND_MAX
//rand()*2-RAND_MAX -RAND_MAX~RAND_MAX-1
double x1=x+(rand()*2-RAND_MAX)*t;
double y1=y+(rand()*2-RAND_MAX)*t;
double now=power(x1,y1);
double de=now-ans;
if(de<0){
ans=now;
x=x1,y=y1;
ex=x1,ey=y1;
// cout << ex << " " << ey << endl;
}
else if(exp(-de/t)*RAND_MAX>rand()){
x=x1,y=y1;
}
t*=down;
}
}
void SA(){
ltfd();
ltfd();
ltfd();
ltfd();
ltfd();
}
int main(){
srand(20020202);
ios::sync_with_stdio(false);//cin加速
cin >> n ;
for(int i=1;i<=n;i++){
cin >> a[i].x >> a[i].y >> a[i].data ;
sumx+=a[i].x ,sumy+=a[i].y ;
}
sumx/=n,sumy/=n;
ans=power(sumx,sumy);
x=sumx,y=sumy;
SA();
//cout << ex << " " << ey << endl;
printf("%.3lf %.3lf",ex,ey);
return 0;
}