记录编号 577213 评测结果 AAAAAAAAAA
题目名称 方解菱石板 最终得分 100
用户昵称 Gravatarlihaoze 是否通过 通过
代码语言 C++ 运行时间 0.200 s
提交时间 2022-10-26 12:33:56 内存使用 2.87 MiB
显示代码纯文本
#include "bits/stdc++.h"

using i64 = long long;

int n, m, l, r;

int gcd(int a, int b) {
    return b ? gcd(b, a % b) : a;
}

int main() {
    freopen("rockboard.in", "r", stdin); 
    freopen("rockboard.out", "w", stdout);
    std::cin >> n >> m >> l >> r, l *= l, r *= r;
    i64 res = 0;
    for (int i = 0; i <= n; ++ i) 
        for (int j = 0; j <= m; ++ j) {
            int x = i * i + j * j;
            if ((i || j) && gcd(i, j) == 1 && x >= l && x <= r) {
                res += 2 * (n - i + 1) * (m - j + 1);
                if (i + j == 1) {
                    res -= (n - i + 1) * (m - j + 1);
                }
            }
        }
    std::cout << res << '\n';
    return 0;
}