Pagini recente » Cod sursa (job #122607) | Cod sursa (job #2750154) | Cod sursa (job #721622) | Cod sursa (job #992513) | Cod sursa (job #3148490)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#include <stack>
#include <deque>
#include <iomanip>
#include <vector>
#pragma GCC optimize("O3")
#define fi first
#define se second
#define pb push_back
#define pf push_front
using namespace std;
ifstream fin ("dreptunghiuri.in");
ofstream fout ("dreptunghiuri.out");
typedef long long ll;
const ll Nmax=1e6+5, inf=1e9+5;
using pll=pair<ll, ll>;
int n, m;
long long sol=0;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
fin>>n>>m;
n--; m--;
for (int i=1; i<=n; i++){
for (int j=1; j<=m; j++){
int solcrt=1;
for (int z=1; z<j; z++){
int delta=i*i-4*z*(j-z);
int sq=sqrt(delta);
if (sq==sqrt(delta)){
if ((i+sq)%2==0 && 0<(i+sq)/2 && (i+sq)/2<i)
solcrt++;
if (sq!=0 && i-sq>=0 && 0<(i-sq)/2 && (i-sq)/2<i)
solcrt++;
}
}
//cout<<i<<' '<<j<<' '<<solcrt<<'\n';
sol+=solcrt*(n-i+1)*(m-j+1);
}
}
fout<<sol;
return 0;
}