zoukankan      html  css  js  c++  java
  • hdu 1115

    模板模板模板

    #include<iostream>
    #include<stdio.h>
    #include<math.h>
    using namespace std;
    struct point 

    double x;  
    double y; 
    }; 
    point bcenter(struct point pnt[], int n)//【可以用来做模板】
    {
    point p, s;
    double tp, area = 0, tpx = 0, tpy = 0;

    p.x = pnt[0].x; p.y = pnt[0].y;

    for (int i = 1; i <= n; ++i)
    {

    s.x = pnt[(i == n) ? 0 : i].x;
    s.y = pnt[(i == n) ? 0 : i].y;
    tp = (p.x * s.y - s.x * p.y);//表示这两个点的叉乘,即这两个点与原点所围成的三角形的面积的两倍,由于采用叉乘方式,所有可能为负,所以,可以将该多边形外面的部分面积减去

    area += tp/2 ;//加上这个面积,area为这个多边形的总面积
    tpx += (p.x + s.x) * tp;
    tpy += (p.y + s.y) * tp;
    p.x = s.x;
    p.y = s.y;
    }
    s.x = tpx / (6 * area);
    s.y = tpy / (6 * area);
    return s;
    }
    point p[1000000];
    int main()
    {
        int total_case,iii;
        scanf("%d",&total_case);
        for(iii=0;iii<total_case;iii++)
        {
           int n;
           scanf("%d",&n);
           int i,j,sum=0;
           for(i=0;i<n;i++)
              scanf("%lf%lf",&p[i].x,&p[i].y);
           point m=bcenter(p,n);
           printf("%.2lf %.2lf\n",m.x,m.y);
        }
    }

  • 相关阅读:
    JQuery选择器
    锋利的jQuery事件
    gitlab
    mac 启动台图标大小调整
    Mac显示和隐藏文件夹
    vs Code 本地服务器配置
    js获取url后带的参数
    路由守卫
    calc()
    Git 本地仓库与远程仓库链接
  • 原文地址:https://www.cnblogs.com/dchipnau/p/4985955.html
Copyright © 2011-2022 走看看