算法之回溯模版2有返回值
package com.zhang.reflection.面试.算法模版.回溯模版.模版;
/**
* n*m数组
* bob(x,y)只能上下左右走,可以走rest步,走向任何方向概率相等,不能越界,bob活下来的可能走法总数
*/
public class 模版有返回值 {
public static long process(int N,int M,int row,int col,int rest){
if(row<0||row>=N||col<0||col>=M){
return 0;
}
if(rest==0){
return 1;
}
long live=process(N,M,row-1,col,rest-1);
live+=process(N,M,row+1,col,rest-1);
live+=process(N,M,row,col-1,rest-1);
live+=process(N,M,row,col+1,rest-1);
return live;
}
}