import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n = input.nextInt();
while (n-- > 0) {
int m = input.nextInt();
Shape[] arr = new Shape[m]; //对象数组
for (int i = 0; i < m; i++) {
double x = input.nextDouble();
double y = input.nextDouble();
arr[i] = new Shape(x, y); //每次都要new一个对象出来
}
input.close();
double area = 0.0;//多边形面积
double Gx = 0.0, Gy = 0.0;// 重心的x、y
for (int i = 1; i <= m; i++) {
double temp=(arr[i%m].x*arr[i-1].y-arr[i%m].y*arr[i-1].x)/2.0;
area += temp;
Gx += temp * (arr[i % m].x + arr[i - 1].x) / 3.0;
Gy += temp * (arr[i % m].y + arr[i - 1].y) / 3.0;
}
if (area - 0 < 0.0000001) {
System.out.println("0.000 0.000");
continue;
}
System.out.print(String.format("%.3f %.3f\n",area,(Gx + Gy)/area));
}
}
}
class Shape {
double x = 0;
double y = 0;
Shape(double x, double y) {
this.x = x;
this.y = y;
}
}
南阳理工oj第3题
最新推荐文章于 2018-05-23 23:24:59 发布