#include<iostream>
using namespace std;
long long dp[10000][10000]={0};
long long f(long long x, long long y)
{
if(x==0 || y==0) return 1;
if(dp[x][y]!=0){
return (dp[x][y])%1000000007;
}
dp[x][y]=(f(x-1,y)+f(x,y-1)+f(x-1,y-1))%1000000007;
return dp[x][y]%1000000007;
}
int main(){
bool debug=false;
int t;
cin>>t;
for(int time=0;time<t;time++){
int n,m;
cin>>n>>m;
if(debug){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<dp[i][j]<<"\t";
}
cout<<endl;
}
cout<<endl;
}
f(n,m);
if(debug){
for(int i=0;i<n;i++){
for(int j=0;j<m;j++){
cout<<dp[i][j]<<"\t";
}
cout<<endl;
}
}
cout<<f(n-1,m-1)%1000000007;
}
}
請問為什麼他一直跳這個錯誤訊息RE (SIGSEGV)
#include
using namespace std;
long long dp[10000][10000]={0};
long long f(long long x, long long y)
{
if(x==0 || y==0) return 1;
if(dp[x][y]!=0){
return (dp[x][y])%1000000007;
}
dp[x][y]=(f(x-1,y)+f(x,y-1)+f(x-1,y-1))%1000000007;
return dp[x][y]%1000000007;
}
int main(){
bool debug=false;
int t;
cin>>t;
for(int time=0;time
int n,m;
cin>>n>>m;
if(debug){
for(int i=0;i
for(int j=0;j
cout< }
cout< }
cout< }
f(n,m);
if(debug){
for(int i=0;i
for(int j=0;j
cout< }
cout< }
}
cout< }
}請問為什麼他一直跳這個錯誤訊息RE (SIGSEGV)
陣列開不夠大?