P11222 [COTS 2019] 车位安排 Parking
题目背景
译自 [Izborne Pripreme 2019 (Croatian IOI/CEOI Team Selection)](https://hsin.hr/pripreme2019/) D1T2。$\texttt{3s,0.5G}$。
题目描述
萨格勒布市政府决定修建一个新停车场。
土地是 $N\times M$ 的矩形,被划分为 $N$ 行 $M$ 列 $N\times M$ 个格子。我们记第 $i$ 行第 $j$ 列的格子为 $(i,j)$。
为了吸引游客,事先确定了一些格子内建设水景。剩下的格子将被改造成停车位或车道。**特别地,停车场的出入口为 $(1,1)$,只能用作车道。**
车辆可以在停车场内自由移动,每次可以移动到上下左右四个相邻的格子(只要移动到的格子仍然属于停车场内)。
一个合法的修建方案必须满足以下条件:
- 任意一辆停在停车位内的车,都能在不经过其他停车位的情况下,到达停车场的出入口。
求出所有合法修建方案中,修建停车场数量的最大值。
输入格式
第一行,两个正整数 $N,M$。
接下来,一个 $N\times M$ 的字符矩阵描述土地。
- 第 $i$ 行第 $j$ 列的字符为 `.`,代表这里可以被用作车道或者停车位;
- 第 $i$ 行第 $j$ 列的字符为 `X`,代表这里被用来建设水景。
输出格式
输出一行一个整数,即能够修建停车位数量的最大值。
说明/提示
样例 $4$ 解释:记 `P` 为停车位,如下所示。
```plain
.PPPx
....x
.Px.P
PxP.x
```
对于 $100\%$ 的数据,保证:
- $1\le N\le 6$;
- $1\le M\le 100$;
- 不会在 $(1,1)$ 上修建水景。
| 子任务编号 | $N\le $ | $M\le $ | 得分 |
| :--: | :--: | :--: | :--: |
| $ 1 $ | $ 4$ | $4$ | $10 $ |
| $ 2 $ | $ 2 $ | $100$ | $ 10 $ |
| $ 3 $ | $ 3$ | $100$ | $ 20 $ |
| $ 4 $ | $ 4$ | $ 100$ | $ 20 $ |
| $ 5 $ | $ 5$ | $100$ | $ 20 $ |
| $ 5 $ | $ 6$ | $100$ | $ 20 $ |