SPOJ Problem 40:Lift the Stone
求多边形的重心。。
啥都不说了,代公式。。
#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); } }
posted on 2015-03-16 21:03 problemcutter 阅读(186) 评论(0) 收藏 举报
浙公网安备 33010602011771号