1 条题解

  • 0
    @ 2025-10-8 17:08:35
    #include<bits/stdc++.h> 
    using namespace std; 
    typedef long long LL; 
    LL gcd(LL a,LL b){ return (b==0)?a:gcd(b,a%b);}
    int main()  
    {
    	LL n,m;cin>>n>>m;n++;m++;
    	LL ans=(n*m)*(n*m-1)*(n*m-2)/6;
    	if(n>=3)ans-= m*n*(n-1)*(n-2)/6;
    	if(m>=3)ans-= n*m*(m-1)*(m-2)/6;
    	for(LL i=1;i<n;i++)for(LL j=1;j<m;j++)//右倾斜的线,表格坐标为(0,0)-(n-1,m-1) 
    	{
    		ans-=(LL)2*(gcd(i,j)-1)*(n-i)*(m-j);//乘以2,是因为还有左倾斜的线 
    	}
    	cout<<ans<<endl;
    	return 0;  
    }
    
    • 1

    信息

    ID
    5170
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    254
    已通过
    21
    上传者