· 他可以向右移动任意个单位(不能穿过障碍物),但必须在迷宫范围内,即移动到位置 (x,y+k),必须满足:(1≤k,y+k<=m)。
· 向下移动任意个单位(不能穿过障碍物),但必须在迷宫范围内,即移动到位置 (x+k,y),必须满足:(1≤k,x+k≤n)。
· 沿着当前位置的对角线向右下移动任意个单位(不能穿过障碍物),但必须在迷宫范围内,即移动到位置 (x+k,y+k),必须满足:(1≤k,x+k≤n,y+k≤m)。
现在他想知道从他当前的位置 (1,1)移动到右下角 (n,m)有多少种方案数,答案对998244353取模。
第一行输入两个正整数 nn 和 m(2≤n,m≤2000),表示迷宫有 n 行 m 列。
接下来 n 行,每行 m 个字符 '# '或 '.',表示迷宫的情况,数据保证起点 (1,1)和终点 (n,m) 是' .' 。
4 4
...#
....
..#.
....
84
3 3
...
.#.
...
10
有如下10种方法:
· (1,1)→(1,2)→(1,3)→(2,3)→(3,3)
· (1,1)→(1,2)→(1,3)→(3,3)
· (1,1)→(1,2)→(2,3)→(3,3)
· (1,1)→(1,3)→(2,3)→(3,3)
· (1,1)→(1,3)→(3,3)
· (1,1)→(2,1)→(3,1)→(3,2)→(3,3)
· (1,1)→(2,1)→(3,1)→(3,3)
· (1,1)→(2,1)→(3,2)→(3,3)
· (1,1)→(3,1)→(3,2)→(3,3)
· (1,1)→(3,1)→(3,3)
· 对于 10% 的数据,2≤n,m≤4。
· 对于 30% 的数据,2≤n,m≤10。
· 对于 60% 的数据,2≤n,m≤100。
· 对于 100% 的数据,2≤n,m≤2000。