Pagini recente » Cod sursa (job #2157839) | Cod sursa (job #667987) | Cod sursa (job #2952354) | Cod sursa (job #3198541) | Cod sursa (job #886492)
Cod sursa(job #886492)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("dreptunghiuri.in");
ofstream g("dreptunghiuri.out");
long long sol,i,j,n,m,a,a1,d,b,b1,c,c1;
long long gcd(long a,long b)
{if(b==0)
return a;
return gcd(b,a%b);
}
int main()
{
f>>n>>m;
if(n==1||m==1)
{
g<<0;
return 0;
}
if(n>m)
swap(n,m);
--m,--n;
sol=m*n*(m+1)*(n+1)/4;
for(j=1;j<m;++j)
for(i=1;i<n;++i)
{
d=gcd(i,j);
a=j/d;
b=i/d;
c=j+b;
a1=a;
b1=b;
c1=c;
while(i+a1<=n&&b1<=m&&c1<=m)
{
sol+=(n-a1-i+1)*(m-c1+1);
a1+=a;
b1+=b;
c1=j+b1;
}
}
g<<sol;
}