A19336.黑白方格

普及/提高-

通过率:0%

时间限制:2.00s

内存限制:512MB

题目描述

时间限制:2000ms
内存限制:512MB

给你一个 NN 行,MM 列的网格,其中每个方格都被涂成了 黑色\bf{黑色} 或者 白色\bf{白色}

Si,jS_{i,j} 表示每个方格的颜色,那么 Si,j=S_{i, j} = B 表示位于 (i,j)(i, j) 的方格为 黑色\bf{黑色};若 Si,j=S_{i, j} = W 表示方格为 白色\bf{白色}

网格中上下左右相邻且颜色均为 黑色\bf{黑色} 的方格被称为属于同一个 连通块\bf{连通块}

具体地说:方格 (a,b)(a, b) 和方格 (c,d)(c, d) 属于同一个 连通块\bf{连通块} 当且仅当 ac+bd=1,Sa,b=|a - c| + |b - d| = 1, S_{a, b} = B, Sc,d=S_{c, d} = B

求从网格上任选一个 白色\bf{白色} 方格,将其涂为 黑色\bf{黑色} 后,网格中 连通块\bf{连通块} 数量的 期望\bf{期望}

数据范围\large{数据范围}

  • 1N,M10001 \le N, M \le 1000
  • 题目保证至少有一个方格 (i,j)(i, j) 使得 Si,j=S_{i, j} = W

输入格式

对于每个测试用例格式如下:

NN MM
S1,1S_{1,1}S1,2S_{1,2}\ldotsS1,MS_{1,M}
S2,1S_{2,1}S2,2S_{2,2}\ldotsS2,MS_{2,M}
\vdots
SN,1S_{N,1}SN,2S_{N,2}\ldotsSN,MS_{N,M}

输出格式

对于每个测试用例在单独的一行中输出答案;
输出答案与标准答案的绝对误差或相对误差不超过 10910^{−9},都会被视为正确答案。

输入输出样例

  • 输入#1

    3 3
    BBW
    BWB
    BWW

    输出#1

    1.5
  • 输入#2

    4 5
    WWBWW
    WBBBW
    BBBBB
    WWBWW

    输出#2

    1.2
  • 输入#3

    3 4
    BWWW
    WBWB
    WWBB

    输出#3

    2.714285714286

说明/提示

对于第一个测试用例:

如果将方格 (1,3)(1,3) 重新涂成黑色,则黑色连通块的数量变为 11

如果将方格 (2,2)(2,2) 重新绘制为黑色,则黑色连通块的数量变为 11

如果将方格 (3,2)(3,2) 重新绘制为黑色,则黑色连通块的个数变为 22

如果将方格 (3,3)(3,3) 重新绘制为黑色,则黑色连通块的个数变为 22

因此,均匀随机选择一个白色方格并将其重新涂成黑色后,黑色连通块数量的期望值为 (1+1+2+2)/4=3/2(1+1+2+2)/4 = 3/2

首页