Cod sursa(job #1043699)

Utilizator geniucosOncescu Costin geniucos Data 28 noiembrie 2013 21:29:53
Problema Dreptunghiuri Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include<cstdio>
#include<cmath>
using namespace std;
int N,M,H,W,A,C,rad,delta,sol,ras;
int main()
{
freopen("dreptunghiuri.in","r",stdin);
freopen("dreptunghiuri.out","w",stdout);
scanf("%d%d",&N,&M);
for(H=1;H<=N;H++)
    for(W=1;W<=M;W++)
    {
        sol=0;
        for(A=0;A<H;A++)
        {
            delta=W*W-4*A*(H-A);
            rad=(int)pow(delta,0.5);
            if(rad*rad==delta&&(W+rad)%2==0)
            {
                C=(W+rad)/2;
                if(C>=0&&C<=W) sol++;
                C=(W-rad)/2;
                if(C>=0&&C<=W) sol++;
            }
        }
        ras+=sol*(N-H)*(M-W);
    }
printf("%d\n",ras/2);
return 0;
}