Pagini recente » Cod sursa (job #97901) | Cod sursa (job #1318410) | Cod sursa (job #3186499) | Cod sursa (job #2151976) | Cod sursa (job #2478318)
#include <fstream>
#include <cmath>
using namespace std;
ifstream cin ("dreptunghiuri.in");
ofstream cout ("dreptunghiuri.out");
int n, m, cnt, ans;
int main() {
cin >> n >> m;
// a / c = d / b => a * b = c * d, a + b = n, c + d = m
// n * a - a^2 = m * c - c^2
// c^2 - m * c + a * (n - a) = 0
for(int i = 1; i < n; i++) {
for(int j = 1; j < m; j++) {
cnt = 1;
for(int a = 1; a < i; a++) {
int delta = j * j - 4 * a * (i - a);
if(delta == 0 && j % 2 == 0)
cnt++;
else {
int rad = sqrt(delta);
if(delta && rad * rad == delta && (j + rad) % 2 == 0 && j > rad)
cnt += 2;
}
}
ans += cnt * (n - i) * (m - j);
}
}
cout << ans;
return 0;
}