题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1705
题目大意:有一个在格纸上的三角形,给定三个顶点的坐标,求在三角形内部的格点数。
皮克定理:对于一个所有顶点都为整点的简单多边形,其面积为S,内部格点数为n,边上格点数为s, 则有:S = n + s/2 – 1
这题求边上格点数时可以发现如果边不是水平或竖直的,那么边上的格点数为GCD(a,b)+1,a和b分别为边的水平和竖直方向上的长度。
求面积时要用叉积,直接套海伦公式会因为浮点数误差无法通过。
1 |
|