Pagini recente » Cod sursa (job #1219474) | Cod sursa (job #2455923) | Cod sursa (job #2328309) | Cod sursa (job #530210) | Cod sursa (job #1242896)
#include<cstdio>
#include<cmath>
int n,m,i,j,h,w,a,ra,x[500][500],v[200000];
long long s;
FILE *f,*g;
int main(){
f=fopen("dreptunghiuri.in","r");
g=fopen("dreptunghiuri.out","w");
fscanf(f,"%d%d",&n,&m);
/*for(i=1;i<=400*400;i++){
v[i]=-1;
}*/
for(i=1;i<=400;i++){
v[i*i]=i;
}
for(h=1;h<n;h++){
for(w=1;w<m;w++){
for(i=1;i<h;i++){
a=w*w-(4*i*(h-i));
ra=v[a];
if(a>=0&&ra>=0){
if(a==0&&w%2==0&&w/2>=1)
x[h][w]++;
else{
if(a>0&&(w+ra)%2==0&&(w+ra)/2>=1&&w>ra)
x[h][w]++;
if(a>0&&(w-ra)%2==0&&(w-ra)/2>=1)
x[h][w]++;
}
}
}
x[h][w]++;
}
}
for(i=1;i<n;i++){
for(j=1;j<m;j++){
s+=1LL*x[i][j]*(n-i)*(m-j);
}
}
fprintf(g,"%lld",s);
fclose(f);
fclose(g);
return 0;
}