码迷,mamicode.com
首页 > 其他好文 > 详细

[几何]三角形的内点

时间:2018-09-30 14:58:31      阅读:456      评论:0      收藏:0      [点我收藏+]

标签:ott   default   esc   空格   tom   efi   gcd   color   设计程序   

在一个平面坐标系中,我们可以选出三个不全在一条线上的点构成一个三角形。我们称一个在三角形内(不包含三角形的边上),横纵坐标皆为整数的点位这个三角形的内点。 对于一个由(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;
}

 

 

[几何]三角形的内点

标签:ott   default   esc   空格   tom   efi   gcd   color   设计程序   

原文地址:https://www.cnblogs.com/Diliiiii/p/9728822.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!