Pagini recente » Cod sursa (job #2769388) | Cod sursa (job #2907260) | Cod sursa (job #366276) | Cod sursa (job #54581) | Cod sursa (job #2335683)
#include <bits/stdc++.h>
using namespace std;
const int MAXN=400;
ifstream f("dreptunghiuri.in");
ofstream g("dreptunghiuri.out");
int H,W,A,i,rad[MAXN*MAXN+1];
int main()
{
int m,n;
f>>n>>m;
for(i=1;i<=MAXN;i++)
rad[i*i]=i;
long long nrS=0;
for(H=1;H<n;H++)
for(W=1;W<m;W++)
{
int nr=1;
for(A=1;A<H;A++)
{
int delta=W*W-4*A*(H-A);
if(delta==0&&W%2==0)
nr++;
else
if((delta>0&&rad[delta]!=0)&&(W+rad[delta])%2==0&&W>rad[delta])
nr+=2;
}
nrS+=(long long)nr*(n-H)*(m-W);
}
g<<nrS;
return 0;
}