HDU 1115 Lifting the Stone(求多边形重心)
来源:互联网 发布:gdp 知乎 编辑:程序博客网 时间:2024/06/05 03:44
HDU 1115
大意:给你个n,有n个点,然后给你n个点的坐标,求这n个点形成的多边形的重心的坐标。
struct point{ double x, y;} P[1000010];struct line{ point a, b;} ;double xmult(point p1, point p2, point p){ return (p1.x-p.x)*(p2.y-p.y) - (p2.x-p.x)*(p1.y-p.y);}point intersection(line u,line v){point ret=u.a;double t=((u.a.x-v.a.x)*(v.a.y-v.b.y)-(u.a.y-v.a.y)*(v.a.x-v.b.x))/((u.a.x-u.b.x)*(v.a.y-v.b.y)-(u.a.y-u.b.y)*(v.a.x-v.b.x));ret.x+=(u.b.x-u.a.x)*t;ret.y+=(u.b.y-u.a.y)*t;return ret;}point barycenter(point a,point b,point c){line u,v;u.a.x=(a.x+b.x)/2;u.a.y=(a.y+b.y)/2;u.b=c;v.a.x=(a.x+c.x)/2;v.a.y=(a.y+c.y)/2;v.b=b;return intersection(u,v);}///多边形重心point Barycenter(int n,point* p){point ret,t;double t1=0,t2;int i;ret.x=ret.y=0;for (i=1;i<n-1;i++)if (fabs(t2=xmult(p[0],p[i],p[i+1]))>eps){t=barycenter(p[0],p[i],p[i+1]);ret.x+=t.x*t2;ret.y+=t.y*t2;t1+=t2;}if (fabs(t1)>eps)ret.x/=t1,ret.y/=t1;return ret;}int T;int n;void Solve(){ scanf("%d", &T); while(T--) { scanf("%d", &n); for(int i = 0; i < n; ++i) { scanf("%lf%lf", &P[i].x, &P[i].y); } point t = Barycenter(n, &P[0]); printf("%.2lf %.2lf\n", t.x+eps, t.y+eps); }}
0 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(求多边形的重心)
- 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 (多边形重心)
- HDOJ 1115 Lifting the Stone (求多边形重心坐标)
- HDU-#1115 Lifting the Stone(多边形重心)
- hdu acm 1115 Lifting the Stone(多边形重心)
- hdu 1115 Lifting the Stone (凸包求多边形重心)
- HDU 1115 Lifting the Stone ( 求多边形的重心:叉积)
- 求重心-hdu-1115-Lifting the Stone
- hdu 1115 Lifting the Stone (求重心)
- 游戏架构 游戏架构设计(17)
- Biee 迁移和刷新GUIDs
- 求字符串中两个长度最长且相等的子串
- poj 1050 || hdu 1081 To The Max
- Linux 编译C++ 与 设置 Vim
- HDU 1115 Lifting the Stone(求多边形重心)
- Oracle 学习笔记 13 -- 控制用户权限
- 新人刚刚注册
- Flex 中的ChartItemEvent 与TabNavigator的IndexChangeEvent异常
- jquery常用技巧
- 1244: Reverse Number
- curl返回302 found问题相关
- 游戏架构 游戏架构设计(18)
- 黑马程序员_c语言基础知识大汇总