{"trustable":false,"prependHtml":"\u003cstyle type\u003d\"text/css\"\u003e\n section pre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n word-break: break-all;\n word-wrap: break-word;\n color: #333;\n background: rgba(255, 255, 255, 0.5);\n border: 1px solid #ccc;\n border-radius: 6px;\n }\n\u003c/style\u003e\n\u003cscript\u003e\n window.katexOptions \u003d {\n delimiters: [\n {left: \u0027\\\\(\u0027, right: \u0027\\\\)\u0027, display: false},\n {left: \u0027\\\\[\u0027, right: \u0027\\\\]\u0027, display: true}\n ]\n };\n\u003c/script\u003e\n","sections":[{"title":"问题描述","value":{"format":"HTML","content":"\u003csection\u003e\n\u003cp\u003e我们有一个网格,它包含了 \u003cvar\u003e\\(H\\)\u003c/var\u003e 行 \u003cvar\u003e\\(W\\)\u003c/var\u003e 列的方格 (单元格)。\u003c/p\u003e\n\u003cp\u003e方格 \u003cvar\u003e\\((i,j)\\)\u003c/var\u003e 位于从顶部数第 \u003cvar\u003e\\(i\\)\u003c/var\u003e 行、从左侧数第 \u003cvar\u003e\\(j\\)\u003c/var\u003e 列,如果 \u003cvar\u003e\\(S_{ij}\\)\u003c/var\u003e 是 \u003ccode\u003e#\u003c/code\u003e,则该方格为\u003cem\u003e墙\u003c/em\u003e;如果 \u003cvar\u003e\\(S_{ij}\\)\u003c/var\u003e 是 \u003ccode\u003e.\u003c/code\u003e,则该方格为\u003cem\u003e道路\u003c/em\u003e。\u003c/p\u003e\n\u003cp\u003e有一个皇后(国际象棋中的棋子)位于方格 \u003cvar\u003e\\((1, 1)\\)\u003c/var\u003e。在一次移动中,它可以向右、向下或者沿右下对角线移动任意数量的方格,但不能跳过墙而抵达道路方格。\u003c/p\u003e\n\u003cp\u003e皇后从方格 \u003cvar\u003e\\((1, 1)\\)\u003c/var\u003e 移动到方格 \u003cvar\u003e\\((H, W)\\)\u003c/var\u003e 有多少种方式?将结果对 \u003cvar\u003e\\((10^9+7)\\)\u003c/var\u003e 取模。\u003c/p\u003e\n\u003cp\u003e这里,当且仅当存在 \u003cvar\u003e\\(i\\)\u003c/var\u003e 使得两种方式中皇后在第 \u003cvar\u003e\\(i\\)\u003c/var\u003e 次移动后的位置不同,两种移动方式才被认为是不同的。\u003c/p\u003e\n\u003c/section\u003e"}},{"title":"约束条件","value":{"format":"HTML","content":"\u003csection\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cvar\u003e\\(2 \\leq H,W \\leq 2000\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\(S_{ij}\\)\u003c/var\u003e 的值为 \u003ccode\u003e#\u003c/code\u003e 或 \u003ccode\u003e.\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\(S_{11}\\)\u003c/var\u003e 和 \u003cvar\u003e\\(S_{HW}\\)\u003c/var\u003e 的值皆为 \u003ccode\u003e.\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/section\u003e"}},{"title":"输入","value":{"format":"HTML","content":"\u003csection\u003e\n\u003cp\u003e输入按以下格式从标准输入中给出:\u003c/p\u003e\n\u003cpre\u003e\u003cvar\u003e\\(H\\)\u003c/var\u003e \u003cvar\u003e\\(W\\)\u003c/var\u003e\n\u003cvar\u003e\\(S_{11}\\ldots S_{1W}\\)\u003c/var\u003e\n\u003cvar\u003e\\(\\vdots\\)\u003c/var\u003e\n\u003cvar\u003e\\(S_{H1}\\ldots S_{HW}\\)\u003c/var\u003e\n\u003c/pre\u003e\n\n\u003c/section\u003e"}},{"title":"输出","value":{"format":"HTML","content":"\u003csection\u003e\n\u003cp\u003e打印皇后从方格 \u003cvar\u003e\\((1, 1)\\)\u003c/var\u003e 移动到方格 \u003cvar\u003e\\((H, W)\\)\u003c/var\u003e 的方案数,对 \u003cvar\u003e\\((10^9+7)\\)\u003c/var\u003e 取模。\u003c/p\u003e\n\u003c/section\u003e"}},{"title":"示例 1","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e3 3\n...\n.#.\n...\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e10\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003csection\u003e\n\n\n\u003c/section\u003e\n\n\u003csection\u003e\n\n\n\u003cp\u003e有 \u003cvar\u003e\\(10\\)\u003c/var\u003e 种移动方式,如下所示:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (1,2)\\to (1,3)\\to (2,3)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (1,2)\\to (1,3)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (1,2)\\to (2,3)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (1,3)\\to (2,3)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (1,3)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (2,1)\\to (3,1)\\to (3,2)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (2,1)\\to (3,1)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (2,1)\\to (3,2)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (3,1)\\to (3,2)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003cli\u003e\u003cvar\u003e\\((1,1)\\to (3,1)\\to (3,3)\\)\u003c/var\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/section\u003e"}},{"title":"示例 2","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e4 4\n...#\n....\n..#.\n....\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e84\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003csection\u003e\n\n\n\u003c/section\u003e\n\n\u003csection\u003e\n\n\n\u003cp\u003e从 \u003cvar\u003e\\((1,1)\\)\u003c/var\u003e,皇后可以移动到 \u003cvar\u003e\\((1,2)\\)\u003c/var\u003e、\u003cvar\u003e\\((1,3)\\)\u003c/var\u003e、\u003cvar\u003e\\((2,1)\\)\u003c/var\u003e、\u003cvar\u003e\\((2,2)\\)\u003c/var\u003e、\u003cvar\u003e\\((3,1)\\)\u003c/var\u003e 或 \u003cvar\u003e\\((4,1)\\)\u003c/var\u003e。\u003c/p\u003e\n\u003cp\u003e通往 \u003cvar\u003e\\((4,4)\\)\u003c/var\u003e 的一种可能路径是 \u003cvar\u003e\\((1,1)\\to (3,1)\\to (3,2)\\to (4,3)\\to (4,4)\\)\u003c/var\u003e。\u003c/p\u003e\n\u003c/section\u003e"}},{"title":"示例 3","value":{"format":"HTML","content":"\u003ctable class\u003d\u0027vjudge_sample\u0027\u003e\n\u003cthead\u003e\n \u003ctr\u003e\n \u003cth\u003eInput\u003c/th\u003e\n \u003cth\u003eOutput\u003c/th\u003e\n \u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n \u003ctr\u003e\n \u003ctd\u003e\u003cpre\u003e8 10\n..........\n..........\n..........\n..........\n..........\n..........\n..........\n..........\n\u003c/pre\u003e\u003c/td\u003e\n \u003ctd\u003e\u003cpre\u003e13701937\n\u003c/pre\u003e\u003c/td\u003e\n \u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\n\n\u003csection\u003e\n\n\n\u003c/section\u003e\n\n\u003csection\u003e\n\n\n\u003cp\u003e将结果对 \u003cvar\u003e\\((10^9+7)\\)\u003c/var\u003e 取模。\u003c/p\u003e\u003c/section\u003e"}}]}