#ATagc049a. [AGC049A] Erasing Vertices

[AGC049A] Erasing Vertices

题目描述

有一个包含 NN 个顶点、编号为 11NN 的有向图。该图的边由 NN 个长度为 NN 的字符串 S1,S2,,SNS_1,S_2,\ldots,S_N 表示。具体来说,如果存在一条从顶点 ii 到顶点 jj 的有向边,则 Si,j=S_{i,j}=1,否则 Si,j=S_{i,j}=0。该图中没有自环和重边。

小熊 AtCobear 会重复进行如下操作,直到图为空:

  • 从当前尚未被删除的顶点中,等概率随机选择一个顶点(每次选择相互独立)。然后,删除该顶点以及从该顶点出发通过若干条边能够到达的所有顶点。与被删除顶点相连的所有边也会被删除。

请计算完成所有操作所需的操作次数的期望值。

输入格式

输入通过标准输入按以下格式给出:

NN
S1S_1
S2S_2
\vdots
SNS_N

输出格式

输出操作次数的期望值。如果你的答案的绝对误差或相对误差不超过 10910^{-9},则视为正确。

样例 1

输入

3
010
001
010

输出

1.66666666666666666667

样例 2

输入

3
000
000
000

输出

3.00000000000000000000

样例 3

输入

3
011
101
110

输出

1.00000000000000000000

说明/提示

限制条件

  • 1N1001\leq N\leq 100
  • SiS_i 是由 01 组成的长度为 NN 的字符串。
  • Si,i=S_{i,i}=0

样例解释 1

有以下 33 种等概率发生的情形:

  • 第一次操作选择顶点 11,顶点 1,2,31,2,3 被删除。图为空,操作结束。
  • 第一次操作选择顶点 22,顶点 2,32,3 被删除。第二次操作选择顶点 11,顶点 11 被删除。图为空,操作结束。
  • 第一次操作选择顶点 33,顶点 2,32,3 被删除。第二次操作选择顶点 11,顶点 11 被删除。图为空,操作结束。

因此,操作次数的期望值为 (1+2+2)/3=5/3(1+2+2)/3=5/3

样例解释 2

一定会进行 33 次操作。

样例解释 3

一定会进行 11 次操作。

由 ChatGPT 4.1 翻译