Pagini recente » Cod sursa (job #944330) | Cod sursa (job #115653) | Cod sursa (job #274264) | Cod sursa (job #2325915) | Cod sursa (job #1865610)
#include <bits/stdc++.h>
using namespace std;
fstream in ( "dreptunghiuri.in" , ios::in );
fstream out( "dreptunghiuri.out", ios::out );
const int NMAX = 4e3 + 5;
int sqr[NMAX * NMAX];
int main( void ) {
ios::sync_with_stdio( false );
int n, m;
in >> n >> m;
fill( sqr, sqr + m * m, -1 );
for( int i = 0; i < m; i ++ )
sqr[i * i] = i;
long long ans = 0;
for( int i = 1; i < n; i ++ ) {
for( int j = 1; j < m; j ++ ) {
int aux = 1;
for( int k = 1; k < i; k ++ ) {
int dlt = j * j - 4 * k * ( i - k );
if( dlt < 0 || sqr[dlt] < 0 )
continue;
int sl1 = ( j + sqr[dlt] ) / 2;
int sl2 = ( j - sqr[dlt] ) / 2;
if( ( j + sqr[dlt] ) % 2 == 0 && 1 <= sl1 && sl1 < j )
aux ++;
if( ( j + sqr[dlt] ) % 2 == 0 && 1 <= sl2 && sl2 < j && dlt != 0 )
aux ++;
}
ans += aux * 1LL * ( n - i ) * ( m - j );
}
}
out << ans;
return 0;
}