Pagini recente » Cod sursa (job #3125168) | Cod sursa (job #2339863) | Cod sursa (job #2394304) | Cod sursa (job #3126332) | Cod sursa (job #1242895)
#include<cstdio>
#include<cmath>
long long n,m,i,j,h,w,a,ra,x[500][500],v[200000],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+=x[i][j]*(n-i)*(m-j);
}
}
fprintf(g,"%lld",s);
fclose(f);
fclose(g);
return 0;
}