hdu1115 Lifting the Stone (多边形重心)
2013-08-10 15:06
465 查看
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1115
模版题
#include <stdio.h>
#include <math.h>
typedef struct node
{
double x,y;
}point;
double Area(point p0,point p1,point p2)
{
double area=0;
area=p0.x*p1.y+p1.x*p2.y+p2.x*p0.y-p1.x*p0.y-p2.x*p1.y-p0.x*p2.y;
return area/2.0;
}
int main()
{
point p0,p1,p2;
double xsum,ysum,areasum,area;
int test,n;
scanf("%d",&test);
while(test--)
{
xsum=ysum=areasum=0.0;
scanf("%d",&n);
scanf("%lf %lf %lf %lf",&p0.x,&p0.y,&p1.x,&p1.y);
n-=2;
while(n--)
{
scanf("%lf %lf",&p2.x,&p2.y);
area=Area(p0,p1,p2);
areasum+=area;
xsum+=(p0.x+p1.x+p2.x)*area;
ysum+=(p0.y+p1.y+p2.y)*area;
p1.x=p2.x;
p1.y=p2.y;
}
areasum*=3.0;
printf("%.2lf %.2lf\n",xsum/areasum,ysum/areasum);
}
return 0;
}
模版题
#include <stdio.h>
#include <math.h>
typedef struct node
{
double x,y;
}point;
double Area(point p0,point p1,point p2)
{
double area=0;
area=p0.x*p1.y+p1.x*p2.y+p2.x*p0.y-p1.x*p0.y-p2.x*p1.y-p0.x*p2.y;
return area/2.0;
}
int main()
{
point p0,p1,p2;
double xsum,ysum,areasum,area;
int test,n;
scanf("%d",&test);
while(test--)
{
xsum=ysum=areasum=0.0;
scanf("%d",&n);
scanf("%lf %lf %lf %lf",&p0.x,&p0.y,&p1.x,&p1.y);
n-=2;
while(n--)
{
scanf("%lf %lf",&p2.x,&p2.y);
area=Area(p0,p1,p2);
areasum+=area;
xsum+=(p0.x+p1.x+p2.x)*area;
ysum+=(p0.y+p1.y+p2.y)*area;
p1.x=p2.x;
p1.y=p2.y;
}
areasum*=3.0;
printf("%.2lf %.2lf\n",xsum/areasum,ysum/areasum);
}
return 0;
}
相关文章推荐
- HDU 1115 Lifting the Stone 多边形的重心
- hdu 1115 Lifting the Stone(求取多边形的重心)
- hdu_1115_Lifting the Stone(求多边形重心)
- hdu 1115 Lifting the Stone 多边形的重心
- hdu 1115 Lifting the Stone 多边形的重心
- hdu1115 Lifting the Stone(几何,求多边形重心模板题)
- HDU 1115 Lifting the Stone ( 求多边形的重心:叉积)
- HDU 1115 Lifting the Stone (求多边形的重心)
- hdu 1115 Lifting the Stone 多边形的重心
- 【多边形重心】hdu 1115 Lifting the Stone
- hdu 1115 Lifting the Stone (凸包求多边形重心)
- HDU 1115 Lifting the Stone(求多边形重心)
- HDU-#1115 Lifting the Stone(多边形重心)
- HDU1115 Lifting the Stone (求多边形的重心)
- HDU 1115 Lifting the Stone(多边形重心)
- hdu 1115 Lifting the Stone【求多边形重心】
- 多边心重心[nyoj 3 多边形重心问题, hdu 1115 Lifting the Stone]
- hdu-1115 Lifting the Stone(求多边形的重心)
- HDU 1115 Lifting the Stone(多边形重心)
- hdu1115 Lifting the Stone (求多边形重心)