#P13794. [SWERC 2023] Metro quiz

[SWERC 2023] Metro quiz

Description

:::align{center}

:::

两位奥运观众正在排队。他们每人手里都有一份巴黎地铁线路图,为了打发时间,他们想出了一个小游戏。首先,玩家 A 会在所有地铁线路中随机选择一条地铁线路(每条线路被选中的概率相同),让玩家 B 猜是哪一条。为了猜测,玩家 B 可以反复询问某个地铁站是否有该线路停靠,玩家 A 会如实回答。在经过足够多的提问后,玩家 B 通常可以确定玩家 A 想到的是哪一条地铁线路。当然,玩家 B 希望她需要提问的次数尽可能少。

现在给定 MM 条地铁线路(编号为 11MM)的地铁线路图,共有 NN 个地铁站(编号为 00N1N-1),并给出每条线路停靠的地铁站。请你计算,在最优策略下,玩家 B 需要提问的期望次数。

换句话说,给定一个策略 SS,记 QS,jQ_{S,j} 表示如果答案是第 jj 条地铁线路时,按照策略 SS 需要提问的次数。那么

$$E_S = \mathbb{E} \left[ Q_S \right] = \frac{1}{M} \sum_{j = 1}^M Q_{S, j}$$

表示在第 jj 条线路等概率被选中的情况下,QS,jQ_{S,j} 的期望值。你的任务是计算 minSES\min_S E_S

如果玩家 B 无法总是确定玩家 A 想到的是哪一条线路,请输出 not possible\texttt{not possible}

Input Format

第一行包含一个整数 NN,表示地铁站的数量。
第二行包含一个整数 MM,表示地铁线路的数量。
接下来 MM 行,每行描述一条地铁线路:第 kk 行首先是一个正整数 nNn \leq N,表示该线路停靠的地铁站数量,接着是 nn 个用空格分隔的整数 s1,s2,,sns_1, s_2, \dots, s_n,表示该线路停靠的地铁站编号。每条线路在同一个地铁站最多停靠一次。

数据范围

  • 1N181 \leq N \leq 18
  • 1M501 \leq M \leq 50

Output Format

输出一行,包含一个数字,表示玩家 B 至少需要提问的期望次数,或者输出 \texttt{not possible}(小写字母)。如果你的答案与正确答案的误差不超过 10410^{-4},则视为正确。

5
4
3 0 3 4
3 0 2 3
3 2 3 4
2 1 2
2
3
3
1 0
1 1
1 2
1.66666666666667

Hint

样例解释 2

第一次询问地铁站 00,由于问题具有对称性,这是最优的。这样可以区分停靠站 00 的线路 11 和不在站 00 停靠的线路 2233。如果需要,再问第二个问题以区分线路 2233。如果答案是线路 11,只需问一次,否则需要问两次。因此,期望提问次数为 (1+2×2)/3(1 + 2 \times 2)/3

由 ChatGPT 4.1 翻译