5分球跳,应该是取模的问题
查看原帖
5分球跳,应该是取模的问题
661913
liwenxi1145144444楼主2024/7/8 09:46
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int t,n,m,x,y,sum;
signed main(){
	cin>>n>>m>>t>>x>>y;
	while(t--){
		int a,b;
		cin>>a>>b;
		if(a!=x&&b!=y){
			if(x>a){
				sum+=a;
				sum%=mod;
			}else{
				sum+=n-a+1;
				sum%=mod;
			}
			if(y>b){
				sum+=b;
				sum%=mod;
			}else{
				sum+=m-b+1;
				sum%=mod;
			}
		}else if(a==x&&b!=y){
			if(y>b){
				sum+=(m-b-1)*b;
				sum%=mod;
				sum+=(n-1)*b;
				sum%=mod;
				sum+=(m-1)*b;
				sum%=mod;
			}else{
				sum+=(b-2)*(m-b+1);
				sum%=mod;
				sum+=(m-b+1)*(n-1);
				sum%=mod;
				sum+=(m-b+1)*(m-1);
				sum%=mod;
			}
		}else if(a!=x&&b==y){
			if(x>a){
				sum+=(n-a-1)*a;
				sum%=mod;
				sum+=(n-1)*a;
				sum%=mod;
				sum+=(m-1)*a;
				sum%=mod;
			}else{
				sum+=(a-2)*(n-a+1);
				sum%=mod;
				sum+=(n-1)*(n-a+1);
				sum%=mod;
				sum+=(m-1)*(n-a+1);
				sum%=mod;
			}
		}else{
			sum+=(n+m-2)*(n+m-2);
			sum%=mod;
		}
	}
	cout<<sum;
	return 0;
} 
2024/7/8 09:46
加载中...