Cod sursa(job #3148495)

Utilizator andiRTanasescu Andrei-Rares andiR Data 1 septembrie 2023 20:22:49
Problema Dreptunghiuri Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <math.h>

#pragma GCC optimize("O2")

using namespace std;
ifstream fin ("dreptunghiuri.in");
ofstream fout ("dreptunghiuri.out");

int n, m, i, j, z, delta, sq, solcrt;
long long sol=0;
int main()
{
    fin>>n>>m;
    n--; m--;
    for (i=1; i<=n; i++)
        for (j=1; j<=m; j++){
            solcrt=1;
            for (z=1; z<j; z++){
                delta=i*i-4*z*(j-z);
                sq=sqrt(delta);
                if (sq==sqrt(delta)){
                    if ((i+sq)%2==0 && 0<(i+sq)/2)
                        solcrt++;
                    if (sq!=0 && i-sq>=0 && 0<(i-sq)/2)
                        solcrt++;
                }
            }
            sol+=solcrt*(n-i+1)*(m-j+1);
        }
    fout<<sol;
    return 0;
}