Cod sursa(job #2710133)

Utilizator Edyci123Bicu Codrut Eduard Edyci123 Data 21 februarie 2021 21:41:05
Problema Dreptunghiuri Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <bits/stdc++.h>
#define ll long long

using namespace std;

ifstream f("dreptunghiuri.in");
ofstream g("dreptunghiuri.out");

int rad[401 * 401], n, m;
ll delta, sol;

int main()
{
    f >> n >> m;
    for(int i = 1; i <= 400 * 400; i++)
        rad[i] = sqrt(i);
    for(int i = 1; i < n; i++)
        for(int j = 1; j < m; j++)
        {
            ll cnt = 1;
            delta = 0;
            for(int a = 1; a < i; a++)
            {
                delta = j * j - 4 * a * (i - a);
                if(delta == 0 && j % 2 == 0)
                    cnt++;
                else if(delta > 0 && rad[delta] * rad[delta] == delta && (j - rad[delta]) % 2 == 0 && j > rad[delta])
                    cnt += 2;
            }
            sol += cnt * (n - i) * (m - j);
        }

    g << sol;
    return 0;
}