CF348D Turtles
题目描述
有一张 $n$ 行 $m$ 列的网格图,记第 $i$ 行第 $j$ 列的格子为 $(i,j)$。其中一些格子有障碍物,保证 $(1,1)$ 和 $(n,m)$ 都没有障碍物。
在 $(1,1)$ 处有两只乌龟,都想要去 $(n,m)$ 。每只乌龟每次都可以从格子 $(x,y)$ 走到 $(x,y+1)$ 和 $(x+1,y)$,但不能走到有障碍的格子中。
现要求两只乌龟在前往 $(n,m)$ 的路途中不可以相遇,即除了起点和终点,他们的路径没有其他公共点。
求出从起点到终点的不同路径对数,答案对 $10^9+7$ 取模。
注:$(route_a,route_b)$ 和 $(route_b,route_a)$ 被视为同一对路径。
输入格式
第一行两个整数 $n,m$。
接下来 $n$ 行,每行一个长度为 $m$ 的字符串 $s_i$,若 $s_{i,j}$ 为 `.`,则这个格子是空的。若 $s_{i,j}$ 为 `#`,则这个格子有障碍物。
输出格式
一行一个整数表示答案。
说明/提示
对于所有数据,$2\le n,m\le 3000$。