#ABC472G. 级联网格 / Cascading Grid
级联网格 / Cascading Grid
题目描述
有一个 行 列的网格。每个格子上写着 +、-、# 中的一个字符。用 表示从上往下数第 行、从左往右数第 列的格子。网格由 个长度为 的字符串 给出: 的第 个字符写在格子 上。
你可以进行以下操作零次或多次:
- 选择一个不是
#的格子。把所有「从所选格子出发,只使用向左、向右或向下移动到相邻格子的移动方式,且不经过任何#格子就能到达」的格子全部变为#。这里所选格子本身也算在可达格子之中。
求操作结束后网格中可能达到的下列值的最大值:+ 格子的个数减去 - 格子的个数。
输入格式
输入从标准输入给出,格式如下:
输出格式
输出答案。
数据范围
- 是由
+、-、#组成的长度为 的字符串。 - 和 是整数。
2 3
+-+
--+
1
如果选择 ,第 行的所有格子都会变为 #(注意不能向上移动)。剩下的第 行有两个 + 格子和一个 - 格子,所以值为 ,这就是最大值。
3 3
+--
-#-
#+#
1
如果选择 ,除 以外的所有格子都会变为 #。注意所选格子 本身也算在可达格子之中,并且不能经过 # 格子。
5 7
++#--++
-+---+#
##++-++
--#-++-
+---#++
5
子任务设置
- 子任务 1():。
- 子任务 2():。
- 子任务 3():无特殊限制()。
相关
在下列比赛中: