CF1900A.Cover in Water

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Cover in Water

题目描述

Filip 有一行单元格,一些是障碍物,另一些是空的。他希望把所有空的单元格都灌上水,为此可以进行如下两种操作:

  • 1 1 — 在一个空的单元格中灌上水。
  • 2 2 — 把一个有水单元格中的水移除并改放置到另一个空的单元格中。

如果在某时刻单元格 i i ( 2in1 2 \le i \le n-1 ) 是空的,但 i1 i-1 i+1 i+1 都有水, 则它会被立刻灌上水。

找出把所有空的单元格都灌上水所需要的最少的操作1次数。

注意你不用最小化操作2次数;障碍物格子无法灌水。

输入格式

第一行 t t ( 1t100 1 \le t \le 100 ),为数据组数。

每组数据第一行 n n ( 1n100 1 \le n \le 100 ) ,为单元格个数。第二行一个n n 长度字符串 s s ,其中第i i 个字符为'.' 表示格子 i i 是空的, '#' 表示格子 i i 是障碍物。

输出格式

对每组数据,在一行中输出最小的操作1次数。

样例

5
3
...
7
##....#
7
..#.#..
4
####
10
#...#..#.#
2
2
5
0
2

在线编程 IDE

建议全屏模式获得最佳体验