网格跳跃[1]
时间限制:1秒 内存限制:256M
【题目描述】
在 \(M\) 行 \(N\) 列的网格上,每个格子要么是 空的,要么是 坏的,要么是 障碍物。
芭比兔喜欢在网格上跳跃,每一次跳跃会像国际象棋中的骑士一样:横向移动 1,纵向移动 2,或纵向移动 1,横向移动 2。所以芭比兔有时可能会有多达 8 个选择的跳跃,当然任何时候她只能在空格子上。
芭比兔从打算一个空格子出发,用最少的跳跃次数达目标空格子,请你帮她确定在最少的跳跃次数前提下,有多少种不同的跳跃路径?
【输入格式】
第 \(1\) 行: 两个整数 \(M,N\)。
第 \(2..M+1\) 行:第 \(i+1\) 行,第 \(i+1\) 行有 \(N\) 个整数,表示该格子的状态: 0 为坏格子、1为空格子、2为障碍格子、3为巴比兔开始的格子、4为巴比兔要去的目标格子。
【输出格式】
一个整数,表示在最少的跳跃次数前提下,不同跳跃路径数目。
【输入输出样例】
Input
5 5
3 0 0 0 1
0 0 1 1 0
0 1 1 1 0
0 1 1 0 1
1 0 0 0 4
Output
4
【数据限制】
对于 \(100\%\) 的数据,\(1≤M,N≤30\)。
【来源】
Mr.he