Pagini recente » Cod sursa (job #253921) | Cod sursa (job #827574) | Cod sursa (job #646399) | Cod sursa (job #2914783) | Cod sursa (job #1993169)
#include <fstream>
#define NMAX 410
using namespace std;
ifstream fin("dreptunghiuri.in");
ofstream fout("dreptunghiuri.out");
int n,m;
long long s;
int radical[NMAX*NMAX];
int main()
{
fin >> n >> m;
for (int i=1;i<=400;i++)
radical[i*i]=i;
for (int l=1;l<n;l++)
for (int c=1;c<m;c++)
{
int curent=1;
for (int a=1;a<c;a++)
{
int delta=l*l-4*a*(c-a);
if(delta<0 || radical[delta]*radical[delta]!=delta)
continue;
if (radical[delta]==0) curent++;
else if(radical[delta]<l)curent+=2;
}
s+=(n-l)*(m-c)*curent;
}
fout << s;
return 0;
}