Cod sursa(job #2591783)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 31 martie 2020 12:09:05
Problema Dreptunghiuri Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("dreptunghiuri.in");
ofstream fout("dreptunghiuri.out");
int r[160005];
int main()
{
    int n,m;
    fin >> n >> m;
    for(int i=1;i<=160002;i++) r[i]=sqrt(i);
    int rasp=0;
    for(int i=1;i<n;i++){
        for(int j=1;j<m;j++){
            int nr=1;
            for(int a=1;a<i;a++)
            {
                int delta=j*j-4*a*(i-a);
                if(delta==0 and j%2==0) nr++;
                else if(delta>0 and j>r[delta] and r[delta]*r[delta]==delta and (j+r[delta])%2==0) nr+=2;
            }
            rasp+=nr*(n-i)*(m-j);
        }
    }
    fout << rasp;
    return 0;
}