Pagini recente » Rating Paun Georgel (notpennysboat) | Cod sursa (job #406797) | Cod sursa (job #3207080) | Cod sursa (job #3269429) | Cod sursa (job #547499)
Cod sursa(job #547499)
#include <cstdio>
#include <cmath>
int n, m;
long long sol;
int main()
{
int i, j, k;
freopen("dreptunghiuri.in", "r", stdin);
freopen("dreptunghiuri.out", "w", stdout);
scanf("%d %d", &n, &m);
for (i = 2; i < n; ++i)
for (j = 2; j < m; ++j)
{
int ret = 0;
for (k = 1; k < j; ++k)
{
int D = i * i - 4 * k * (j - k);
if (D < 0)
continue;
int rD = (int)sqrt(D);
if (rD * rD != D)
D = -1;
else
D = rD;
if (D < 0 || ((D + i) & 1))
continue;
int s1 = (i + D) >> 1;
int s2 = (i - D) >> 1;
if (s1 > 0 && s1 < i)
++ret;
if (D && s2 > 0 && s2 < i)
++ret;
}
sol += 1LL * ret * (n - i) * (m - j);
}
sol += 1LL * n * (n - 1) * m * (m - 1) / 4;
printf("%lld\n", sol);
}