给定一个网格图,长为n,高为m,其中x坐标从0到n,y坐标从0到m,找到四个均为网格格点的点,并且恰好构成正方形的方案数。
这个题明明很简单,我感觉没有别的情况了,怎么还能错几个点呢?。。。
#include<bits/stdc++.h>
using namespace std;
const int N=1000000007;
typedef long long ll;
int n,m;
ll ans;
int main(){
cin>>n>>m;
int k=min(n,m);
for(int i=1;i<=k;i++){
ans+=((n-i+1)*(m-i+1))%N;//考虑正的正方形
ans%=N;
ans+=(((n-i+1)*((m-i+1))*(i-1)%N))%N;//考虑斜着的正方形
ans%=N;
// cout<<ans<<endl;
}
cout<<ans%N;
return 0;
}