QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 1024 MB Points totaux : 100 Hackable ✓

#11509. 迷宫的小幅修改

Statistiques

迷宫可以表示为一个 $r$ 行 $c$ 列的矩形。迷宫中的每个单元格要么是墙,要么是空地。题目保证第一行第一列的单元格和第 $r$ 行第 $c$ 列的单元格是空地。

如果两个空地单元格共享一条边(即一个坐标相同,另一个坐标相差 1),则可以在它们之间移动。不允许移动到有墙的单元格中。

Maria 计划移除恰好两堵墙,并将它们替换为空地。她有多少种选择两堵不同墙进行移除的方法(移除顺序无关紧要),使得移除后存在一条仅由空地组成的从单元格 $(1, 1)$ 到单元格 $(r, c)$ 的路径?

如果两种移除两堵墙的方法中,至少有一堵墙在一种方法中被移除而在另一种方法中未被移除,则这两种方法被视为不同。

输入格式

第一行包含两个整数 $r$ 和 $c$ ($1 \le r, c \le 500$)。接下来的 $r$ 行每行包含 $c$ 个字符,描述了迷宫。字符 ‘X’ 代表墙,字符 ‘.’ 代表空地。题目保证第一行第一列的单元格和最后一行最后一列的单元格是空地。

输出格式

输出一个整数:移除恰好两堵墙使得从单元格 $(1, 1)$ 到单元格 $(r, c)$ 之间存在路径的方法总数。

样例

样例输入 1

3 5
..X..
.XX..
..XX.

样例输出 1

7

样例输入 2

3 2
..
X.
..

样例输出 2

0

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.