Pagini recente » Cod sursa (job #519161) | Cod sursa (job #2367308) | Cod sursa (job #2744276) | Cod sursa (job #3262377) | Cod sursa (job #978173)
Cod sursa(job #978173)
using namespace std;
#include<fstream>
ifstream eu("dreptunghiuri.in");
ofstream tu("dreptunghiuri.out");
# define Nmax 405
int M,N;
int Sqrt[Nmax*Nmax],h,w,sd,k,D,x1,x2;
long long Solutia;
void SQrT()
{
for(int i=1;i<=Nmax;i++)
Sqrt[i*i]=i;
}
int main()
{
SQrT();
eu>>M;
eu>>N;
N--;
M--;
for(h=1;h<=N;h++)
for(w=1;w<=M;w++)
{
sd=0;
for(k=0;k<h;k++)
{
int a=1 , b=-w , c=k*(h-k);
D=b*b-4*a*c;
if(D<0&&(D && !Sqrt[D]))
continue;
D=Sqrt[D];
x1=(-b-D)/2;
x2=(-b+D)/2;
if((x1>=0&&x1<w&&(-b+D)%2==0)||(x2>=0&&x2<w&&(-b-D)%2==0&&x1!=x2))
sd++;
}
Solutia+=(N-h+1)*(M-w+1)*sd;
}
tu<<Solutia;
return 0;
}