求多边形的重心。。
啥都不说了,代公式。。
#include<cstdio> double x0,y0,x1,y1,x2,y2,s,as,gx,gy; int t,n; int main(){ scanf("%d",&t); while(t--){ scanf("%d",&n); scanf("%lf%lf",&x0,&y0); scanf("%lf%lf",&x1,&y1); s=gx=gy=0;n-=2; while(n--){ scanf("%lf%lf",&x2,&y2); as=(x1*y2+x0*y1+x2*y0-x1*y0-x0*y2-x2*y1)/2; s+=as; gx+=(x0+x1+x2)*as;x1=x2; gy+=(y0+y1+y2)*as;y1=y2; } printf("%.2lf %.2lf\n",gx/s/3,gy/s/3); } }
时间: 2024-12-27 04:36:34