Pagini recente » Cod sursa (job #2061016) | Cod sursa (job #454604) | Cod sursa (job #2830425) | Cod sursa (job #2537539) | Cod sursa (job #877656)
Cod sursa(job #877656)
#include <cstdio>
#include <cmath>
#include <fstream>
using namespace std;
int n,m;
long long SOL;
void READ ()
{
ifstream in ("dreptunghiuri.in");
in>>n>>m;
}
void SOLVE ()
{
int S,B,C,X1,X2,D;
for( int i=1 ; i <= n ; ++i )
for( int j=1 ; j <= m ; ++j )
{
S=0;
for( int k=0 ; k < i ; ++k )
{
B=-j;
C=k*(i-k);
D=B*B-4*C;
if( D < 0 || ( D && ((int)sqrt(D)) != sqrt(D)) )
continue;
X1=(-B+sqrt(D));
X2=(-B-sqrt(D));
if( X1&1 )
continue;
X1>>=1;
X2>>=1;
if( 0 <= X1 && X1 < j )
++S;
if( 0 <= X2 && X2 < j && X1 != X2 )
++S;
}
SOL+=(1LL*(n-i)*(m-j)*S);
}
}
void OUT ()
{
freopen ("dreptunghiuri.out","w",stdout);
printf("%lld\n",SOL);
}
int main ()
{
READ ();
SOLVE ();
OUT ();
return 0;
}