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]);
}
}
}

浙公网安备 33010602011771号