**题目:**一个机器人位于一个 n x m 网格的左上角 机器人每次只能向下或者向右移动一步。它试图达到网格的右下角。
现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。
输入:
第一行两个数n,m,第二行到n+1行为网格
输出:
路径总数
题解:
一开始是想深搜广搜的,但是数据大的话太慢了
这题属于动态规划,开始的地方为数组ac[1][1],到达的地方为ac[n][m],用box[][]储存每个点可以到达的路径数目,初始化box[0][1]=1,公式为:
box[ i ][ j ] =box[ i ][ j-1 ] + box[ i-1 ][ j ] (1≤i,j≤n,m)
上代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int ac[][]=new int