CF1985H2.Maximize the Largest Component (Hard Version)
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
简单版本和困难版本实际上是不同的问题,因此请完整仔细地阅读两个问题的陈述。两个版本之间的唯一区别是操作。
Alex有一个由 $ n $ 行和 $ m $ 列组成的网格,由“.”和“#”字符组成。如果从该组中的任何单元格开始,通过仅移动到该组中共享一个共同边的另一个单元格,就可以到达该组中的任何其他单元格,则一组“#”单元格形成一个连通分量。连通分量的尺寸是该组中的单元格数量。
在一次操作中,Alex选择任意行$ r ( 1 \le r \le n )和任意列 c ( 1 \le c \le m ),然后将行 r 和列 c $中的每个单元格设置为“#”。帮助Alex找到他在最多执行一次操作后,可以实现的“#”个单元格的最大连通分量的最大可能大小。
输入格式
输入的第一行包含一个整数 $ t ( 1 \leq t \leq 10^4 )——测试用例的数量。每个测试用例的第一行包含两个整数n和m$(1≤n⋅m≤106)——网格的行数和列数。
接下来的 n 行每行包含 m 个字符。每个字符要么是 '.'或
保证所有测试用例中的 $ n \cdot m $ 的总和不超过 $ 10^6 $。
输出格式
对于每个测试用例,输出一个整数——Alex可以实现的“#”单元的连通分量的最大可能大小。
输入输出样例
输入#1
6 1 1 . 4 2 .. #. #. .# 3 5 .#.#. ..#.. .#.#. 5 5 #...# ....# #...# ..... ...## 6 6 .#..#. #..#.. .#...# #.#.#. .#.##. ###..# 6 8 ..#....# .####.#. ###.#..# .##.#.## .#.##.## #..##.#.
输出#1
1 7 11 16 22 36
说明/提示
在第四个测试用例中,Alex将第4行和第2列的所有单元格设置为“#”是最优的。这样做将导致“#”的最大连通分量大小为16。
在第五个测试用例中,Alex将第2行和第4列的所有单元格设置为“#”是最优的。这样做将导致“#”的最大连通分量大小为22。
输入解题思路,AI测评打分。不知道怎么写?