#include<iostream>
#include<cmath>
using namespace std;
#define INF 0.0000001
int main()
{
int n,m;
int i;
double x[10010],y[10010];
double sum,dots;
cin>>m;
while(m--)
{
//赋初值
dots = sum = 0;
//输入数据
cin>>n;
for(i=0; i<n; i++)
{
cin>>x[i]>>y[i];
}
//计算
for(i=1; i<=n; i++)
{
//本题重点
//分割成若干三角形求
double temp = (y[i-1]*x[i%n] - y[i%n]*x[i-1]) / 2.0;//临时面积
sum += temp;
//物理知识求重心(貌似是高数里的)
dots += temp * (x[i%n] + x[i-1] + y[i%n] + y[i-1]) / 3.0;
}
cout.precision(3);
if(sum < INF)//如果改为sum == 0 会增加时间的消耗
{
cout<< "0.000" <<' '<< "0.000" <<endl;
}
else
{
cout<<fixed<< fabs(sum) <<' '<< dots/sum <<endl;
}
}
return 0;
}
#include<cmath>
using namespace std;
#define INF 0.0000001
int main()
{
int n,m;
int i;
double x[10010],y[10010];
double sum,dots;
cin>>m;
while(m--)
{
//赋初值
dots = sum = 0;
//输入数据
cin>>n;
for(i=0; i<n; i++)
{
cin>>x[i]>>y[i];
}
//计算
for(i=1; i<=n; i++)
{
//本题重点
//分割成若干三角形求
double temp = (y[i-1]*x[i%n] - y[i%n]*x[i-1]) / 2.0;//临时面积
sum += temp;
//物理知识求重心(貌似是高数里的)
dots += temp * (x[i%n] + x[i-1] + y[i%n] + y[i-1]) / 3.0;
}
cout.precision(3);
if(sum < INF)//如果改为sum == 0 会增加时间的消耗
{
cout<< "0.000" <<' '<< "0.000" <<endl;
}
else
{
cout<<fixed<< fabs(sum) <<' '<< dots/sum <<endl;
}
}
return 0;
}