题目描述
本题与问题 E 的设定类似。与问题 E 的不同之处已用红色字体标出。
有一个 H 行 W 列的网格,每个格子被涂成红色或绿色。
网格中从上往下第 i 行,从左往右第 j 列的格子记作格子 (i,j)。
格子 (i,j) 的颜色用字符 Si,j 表示,若 Si,j=.,则格子 (i,j) 被涂为红色;若 Si,j=#,则格子 (i,j) 被涂为绿色。
在网格中,将所有被涂为绿色的格子作为顶点集合,将所有相邻的两个绿色格子之间连一条边,构成一个图。该图的连通分量个数称为绿色连通分量数。这里,两个格子 (x,y) 和 (x′,y′) 相邻,指的是 ∣x−x′∣+∣y−y′∣=1。
随机等概率选择一个绿色格子,将其重新涂为红色后,网格中的绿色连通分量数的期望值是多少?请将答案对 998244353 取模后输出。
“将期望值对 998244353 取模后输出”是指,所求的期望值一定是有理数。在本题的约束下,设其值可表示为互质的两个整数 P,Q 的分数 QP,则一定存在唯一的整数 R 满足 R×Q≡P(mod998244353) 且 0≤R<998244353。请输出这个 R。
输入格式
输入按以下格式从标准输入读入。
H W
S1,1S1,2…S1,W
S2,1S2,2…S2,W
⋮
SH,1SH,2…SH,W
输出格式
请输出答案。
样例 1
输入
3 3
##.
#.#
#..
输出
598946614
样例 2
输入
4 5
..#..
.###.
#####
..#..
输出
199648872
样例 3
输入
3 4
#...
.#.#
..##
输出
399297744
说明/提示
约束条件
- 1≤H,W≤1000
- Si,j=. 或 Si,j=#
- 至少存在一个 (i,j) 使得 Si,j=#
样例解释 1
将格子 (1,1) 涂为红色后,绿色连通分量数为 3。
将格子 (1,2) 涂为红色后,绿色连通分量数为 2。
将格子 (2,1) 涂为红色后,绿色连通分量数为 3。
将格子 (2,3) 涂为红色后,绿色连通分量数为 1。
将格子 (3,1) 涂为红色后,绿色连通分量数为 2。
因此,随机等概率选择一个绿色格子,将其涂为红色后,绿色连通分量数的期望值为 (3+2+3+1+2)/5=11/5。
由 ChatGPT 4.1 翻译