• luogu 2735 电网 皮克公式


    题目链接

    题意

    给定一个格点三角形,三个顶点分别为(0,0),(n,m),(p,0),求三角形内部的格点个数。

    思路

    皮克公式

    [S = frac{i}{2}+b-1 ]

    (S)为三角形面积,(i)为三角形边界上的格点个数,(b)为三角形内部的格点个数。

    (i)可由(gcd)求得。

    Code

    #include <bits/stdc++.h>
    using namespace std;
    typedef long long LL;
    int gcd(int a, int b) {
        return b ? gcd(b, a % b) : a;
    }
    int main() {
        int n, m, p;
        scanf("%d%d%d", &n, &m, &p);
        int i = gcd(n, m) + gcd(abs(p-n), m) + p;
        LL b = (1LL * p * m - i) / 2 + 1;
        printf("%lld
    ", b);
        return 0;
    }
    
    
  • 相关阅读:
    敌兵布阵
    Points on Cycle
    Hero
    E~最少拦截系统
    C
    A
    J
    H
    G
    A
  • 原文地址:https://www.cnblogs.com/kkkkahlua/p/7631642.html
Copyright © 2020-2023  润新知