长数模数得到0



在对返回值进行模数运算时得到0

class Solution {
long ans = 0;
long m = 1000000007L;
long[][][] dp;
public int findPaths(int m, int n, int maxMove, int startRow, int startColumn) {
dp = new long[m+2][n+2][maxMove+1];
for(long[][] arr : dp){
for(long[] a : arr) Arrays.fill(a,-1);
}
long solve = bfs(startRow,startColumn,m,n,maxMove);
return (int)((dp[startRow][startColumn][maxMove])%m);
}
public long  bfs(int x,int y,int m,int n,int moves){
if(moves<0) return 0;
if(x==-1||y==-1||x==m||y==n) return 1;
// if(x>m||y>n||x<0||y<0){
//     return 1;
// }
if(dp[x][y][moves]!=-1) return dp[x][y][moves];
System.out.println(x+" , "+y+" , "+moves);
long a = bfs(x+1,y,m,n,moves-1);
long b = bfs(x,y+1,m,n,moves-1);
long c = bfs(x-1,y,m,n,moves-1);
long d = bfs(x,y-1,m,n,moves-1);
dp[x][y][moves] = (a%m+b%m+c%m+d%m)%m;
return dp[x][y][moves];
}   

}

当我尝试模式与m的到来0否则,当我不与m建模时,它很好,直到整数极限达到我猜

使用1000000007而不是将其声明为int m,我直接在每个数字旁边使用它,并且它有效。

相关内容

  • 没有找到相关文章

最新更新