#include<iostream> #include<iomanip> using namespace std; typedef struct point { double x,y; point(double x=0.0,double y=0.0):x(x),y(y){} }vector; point p[1000010],c; vector operator - (point a,point b) {return vector(a.x-b.x,a.y-b.y);} point operator + (point a,point b) {return point(a.x+b.x,a.y+b.y);} point operator / (point a,int b) {return point(a.x/b,a.y/b);} point operator * (point a,double b) {return point(a.x*b,a.y*b);} double cross(vector a,vector b) { return a.x*b.y-a.y*b.x; } double area2(point a,point b,point c) {return cross(b-a,c-a);} int main() { int i,t,n; double s,m; point tt; cin>>t; while(t--) { cin>>n; s=0.0;tt.x=0.0;tt.y=0.0; for(i=0;i<n;i++) { cin>>p[i].x>>p[i].y; } for(i=2;i<n;i++) { m=0.5*area2(p[0],p[i-1],p[i]);s+=m; //三角形的质量与面积成正比 c=(p[0]+p[i]+p[i-1])/3; //三角形的重心 tt=tt+(c*m); } tt=tt/s; cout<<fixed<<setprecision(2)<<tt.x<<" "<<fixed<<setprecision(2)<<tt.y<<endl; } return 0; }