RYIP在线题库
首 页   >   习题练习   >   提交
Problem2081--小明走迷宫

2081: 小明走迷宫

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MB

【 Description 】

小明在迷宫中迷路了,这是一个 n×m 的迷宫,小明现在位于左上角 (1,1) 的位置,迷宫里会有一些障碍物,用 # 表示,. 表示该单位可以正常通过。

由于拓拓拥有超人的魔力,当他在位置 (x,y) 时:

· 他可以向右移动任意个单位(不能穿过障碍物),但必须在迷宫范围内,即移动到位置 (x,y+k),必须满足:(1≤ky+k<=m)。

· 向下移动任意个单位(不能穿过障碍物),但必须在迷宫范围内,即移动到位置 (x+k,y),必须满足:(1≤kx+k≤n)

· 沿着当前位置的对角线向右下移动任意个单位(不能穿过障碍物),但必须在迷宫范围内,即移动到位置 (x+k,y+k),必须满足:(1≤kx+k≤ny+k≤m)

现在他想知道从他当前的位置 (1,1)移动到右下角 (n,m)有多少种方案数,答案对998244353取模。




【 Input 】

第一行输入两个正整数 nn 和 m(2≤n,m≤2000),表示迷宫有 n 行 m 列。

接下来 n 行,每行 m 个字符 '# '或 '.',表示迷宫的情况,数据保证起点 (1,1)和终点 (n,m) 是' .' 。

【 Output 】

输出一个正整数,表示总共有多少方案数,答案对 998244353取模。

【 Sample Input 】

4 4
...#
....
..#.
....

【 Sample Output 】

84

【HINT】

输入数据#1

3 3

...

.#.

...

输出数据#1

10

解释#1

有如下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。

 


【 Source/Category 】

top TX