1254: PIPI上学路

dp使用longlong就会数组越界

#include <bits/stdc++.h>
using namespace std;
int n,m,q;
const int N=5002;
typedef long long ll;
ll p=1000000007;
ll dp[N][N];
int main(){
	for(int i=1;i<N;i++)
		dp[i][0]=1;
	for(int i=1;i<N;i++)
		dp[0][i]=1;
	dp[0][0]=1;
	for(int i=1;i<N;i++){
		for(int j=1;j<N;j++){
			dp[i][j]=(dp[i-1][j]+dp[i][j-1])%p;
		}
	}
	while(scanf("%d%d%d",&n,&m,&q)!=EOF){
		for(int i=1;i<=q;i++){
			int xx1,yy1,xx2,yy2;
			scanf("%d%d%d%d",&xx1,&yy1,&xx2,&yy2);
			if(xx1>xx2||yy1>yy2){
				printf("0\n");
			}else
				printf("%lld\n",dp[xx2-xx1][yy2-yy1]);
		}
	}
}
posted @ 2026-03-19 22:39  peter_shen  阅读(1)  评论(0)    收藏  举报