Pagini recente » Cod sursa (job #1623461) | Cod sursa (job #404220) | Cod sursa (job #1473558) | Cod sursa (job #267791) | Cod sursa (job #130943)
Cod sursa(job #130943)
#include <fstream.h>
#include <math.h>
using namespace std;
int nl, nc;
int solve(int h, int w, int a){
int F=0;
double d, c1, c2;
if(w*w-4*a*(h-a)>=0) {
d = sqrt(w*w-4*a*(h-a));
c1=(w+d)/2.;
c2=(w-d)/2.;
if(c1==c2)
if(c1==floor(c1) && c1<w && c1>=0)
F=1;
else F=0;
else {
if(c1==floor(c1) && 0<=c1 && c1<w)
F++;
if(c2==floor(c2) && 0<=c2 && c2<w)
F++;
}
}
else F=0;
return F;
}
int main(){
int i, j, a, SOL=0, nr;
ifstream f("dreptunghiuri.in");
ofstream g("dreptunghiuri.out");
f>>nl>>nc;
for(i=1; i<nl; i++) {
nr = 0;
for(j=i+1; j<nc; j++)
for(a=0; a<i; a++)
nr+= (nl-i)*(nc-j)*solve(i, j, a);
SOL += 2*nr;
for(a=0; a<i; a++)
SOL += (nl-i)*(nc-i)*solve(i, i, a);
}
g<<SOL<<endl;
f.close();
g.close();
return 0;
}