标签:show lin 两种 题意 mat new print long 方案
int gcd(int x,int y){
if(y==0)return x;
return gcd(y,x%y);
}
int main(){
int m=read(),n=read();
m++;n++;//为了方便,这里直接都+1了
int tot=m*n;
long long ans=1LL*tot*(tot-1)*(tot-2)/6-1LL*m*n*(n-1)*(n-2)/6-1LL*n*m*(m-1)*(m-2)/6;
for(int i=1;i<n;i++)
for(int j=1;j<m;j++)
ans-=1LL*2*(gcd(i,j)-1)*1LL*(n-i)*(m-j);
printf("%lld\n",ans);
return 0;
}
标签:show lin 两种 题意 mat new print long 方案
原文地址:https://www.cnblogs.com/PPXppx/p/10362950.html