HDUoj_1115 求多边形重心
来源:互联网 发布:宁波易企网络 编辑:程序博客网 时间:2024/06/08 17:20
题解:多边形n个定点,分割成n-2个三角形,给每个三角形求出重心,因为每个三角形的面积不相同,所以重心的质量不一样,问题转换为求n-2个质量不均匀的点的重心。
#include<cstdio>#include<cstring>#include<iostream>#include<cmath>using namespace std;const int maxn = 1e6+5;struct Node{double x,y;}arr[maxn];double AREA(const Node &p0,const Node &p1,const Node &p2){return p0.x*p1.y+p1.x*p2.y+p2.x*p0.y-p0.x*p2.y-p1.x*p0.y-p2.x*p1.y;}int main(){int T;scanf("%d",&T);int n;Node p0,p1,p2;double areasum;double x,y;while(T--){scanf("%d",&n);scanf("%lf%lf",&p0.x,&p0.y);scanf("%lf%lf",&p1.x,&p1.y);areasum = 0,x=0,y=0;for(int i = 2; i < n; i++){scanf("%lf%lf",&p2.x,&p2.y);double area = AREA(p0,p1,p2);areasum += area;x += ((p0.x+p1.x+p2.x)*area);y += ((p0.y+p1.y+p2.y)*area);p1=p2;}printf("%.2lf %.2lf\n",x/3/areasum,y/3/areasum);}return 0;}
阅读全文
0 0
- HDUoj_1115 求多边形重心
- 求多边形重心
- 求多边形重心
- 任意多边形求重心
- hdu1115 求多边形重心
- 求多边形重心
- 如何求多边形的重心
- HDU 1115 求多边形重心
- 求多边形重心(整理)
- POJ 1228 求多边形重心
- 求任意多边形的重心
- 求多边形重心(计算几何)
- 求多边形的重心-hdu 1115
- 计算几何:关于求多边形的重心
- hdu1115Lifting the Stone(求多边形重心)
- hdu1115(求多边形重心模板)
- 数论--多边形求重心及其面积
- hdu_1115_Lifting the Stone(求多边形重心)
- RCNN学习笔记(5):faster rcnn
- 分布式锁与实现(一)——基于Redis实现
- 工作笔记(2017/8/13)
- 过滤器和拦截器的区别
- 选择排序
- HDUoj_1115 求多边形重心
- css知识点笔记
- np.argmax()
- 分治/二分/递推
- Pandas知识点(一)
- 优先队列优化的迪杰斯特拉算法
- 怎样解决“XXX is not in the sudoers file”错误
- 折半排序
- Codeforces 835D总结