Pagini recente » inca_inca_vacanta_ix_2 | Cod sursa (job #2596810) | Cod sursa (job #761923) | Cod sursa (job #915586) | Cod sursa (job #1878810)
#include <fstream>
using namespace std;
ifstream fin("dreptunghiuri.in");
ofstream fout("dreptunghiuri.out");
typedef long long i64;
const int nmax= 400;
int pp[nmax*nmax+1];
int main( ) {
for ( int i= 1; i<=nmax; ++i ) {
pp[i*i]= i;
}
int n, m;
i64 sol= 0;
fin>>n>>m;
--n, --m;
for ( int i= 1; i<=n; ++i ) {
for ( int j= 1; j<=m; ++j ) {
int ans= 1;
for ( int k= 1; k<=j-1; ++k ) {
int nr= i*i-4*k*(j-k);
if ( nr>=0 && pp[nr]*pp[nr]==nr && (i-pp[nr])%2==0 ) {
++ans;
if ( nr>0 ) {
++ans;
}
}
}
sol= (i64)sol+(i64)ans*(n-i+1)*(m-j+1);
}
}
fout<<sol<<"\n";
return 0;
}