1152.txt

来自「集合了SOJ(四川大学ACM在线评测系统)众多经典题目的详细解题报告」· 文本 代码 · 共 12 行

TXT
12
字号
题1152:题目要求多边形的重心。
本题的多边形各边不会交叉,且多边形面积不为0。同时多边形可能不为凸边形。
1.先求多边形的面积:分解为求解三角形的面积。先输入得到两个固定点,然后再逐个输入一点,作为一个三角形的第三个顶点,从而由公式求得三角形面积。
area=0.5*( (p1.x-p0.x)*(p2.y-p0.y)-(p1.y-p0.y)*(p2.x-p0.x) );
2.多边形的面积等于对各个三角形重心与面积的乘积求和,再除以该多边形面积。
3.本题要求two digits after the decimal point (0.005 rounds up to 0.01). 
程序可以如下:
center.x=floor(center.x*100+0.5)/100;
对于floor功能的描述如下:
Returns the largest integer less than or equal to the given numeric expression.

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?