[几何]三角形的内点

在一个平面坐标系中,我们可以选出三个不全在一条线上的点构成一个三角形。我们称一个在三角形内(不包含三角形的边上),横纵坐标皆为整数的点位这个三角形的内点。 对于一个由(0,0)、(n,m)、(p,0)作为顶点构成的三角形,请你设计程序求出他的内点数。

输入包括一行,包括三个用空格分隔的整数,分别为n,m,p(0 ≤ n < 32000,0 < m < 32000,0 < p < 32000)。

输出仅一个数,为这个三角形的内点的个数。

样例输入

7 5 10

样例输出

20

皮克定理:2s=2a+b-2
s:三角形面积
a:三角形内部的点的数目
b:三角形边界上的点的数目

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const ll N=1e9+7;
int n,m,p;
int gcd(int a,int b)
{
    if(b==0)
        return a;
    return gcd(b,a%b);
}
int main()
{
    scanf("%d %d %d",&n,&m,&p);
    int s=m*p/2;
    int sum=s+1-(p+gcd(n,m)+gcd(abs(n-p),m))/2;
    printf("%d\n",sum);
    return 0;
}

 

 

原文链接: https://www.cnblogs.com/Diliiiii/p/9728822.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    [几何]三角形的内点

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/282198

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 上午6:14
下一篇 2023年2月15日 上午6:17

相关推荐