問題一覧 > 通常問題

No.3615 Ge Gusser

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 1024 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 21
作問者 : kazuppa / テスター : Unbakedbread Tamiji153
ProblemId : 13626 / Paken新入生コンday1 (順位表) / 自分の提出
問題文最終更新日: 2026-08-06 13:56:40
Paken新入生コンday1の他の問題:

問題文

kazuppa君がとあるゲームを遊んでいます。このゲームは以下のように進行します。

  • このゲームには $M$ 個のマップが実装されており、そこから $1$ 個が答えとして選ばれます。

  • 各ゲーム時、巡れるエリアが $N$ か所あります。エリア $i$ の情報は長さ $M$ の o,x からなる文字列 $S_i$ で表されます。$S_{i,j}=$ o である時、エリア $i$ の情報から「答えがマップ $j$ である可能性が存在する」と言え、$S_{i,j}=$ x である時、エリア $i$ の情報から「答えがマップ $j$ である可能性が存在しない」と言えます。ここで、$N$ か所全てのエリアを巡った時に答えが一意に定まることが保証されます。また、プレイヤーは $S_i$ の情報をエリア $i$ に訪れるまで知ることができません。
  • プレイヤーは好きな地点からスタートして色々なエリアを選んで移動し、どのマップが答えかを選んで解答するということを一度だけできます。当てたら幸せになり、外したら不幸になります。

このゲームにkazuppa君は以下のような戦術でプレイすることにしています。

  • 絶対に不幸になりたくないので、答えが一意に定まるまで解答しない。また、せっかちなので答えが一意に定まったらその時点で解答する。
  • このゲームの最適な行動を理解していないので、ランダムなエリアを $1$ つ選んでスタートし、移動する際もまだ巡ったことが無いエリアをランダムに $1$ つ選び、そこに移動する。

このゲームのスコアを、訪れたエリアの個数(スタートしたエリアを含む)とした時、kazuppa君の戦術でプレイしたときのスコアの期待値を求めてください。

制約

  • $1\leq N\leq 22$
  • $2\leq M\leq 50$
  • $S_i$ は ox からなる長さ $M$ の文字列
  • 「任意の $i$ について $S_{i,j}=$o」を満たすような $j$ がただ一つ存在する
  • $N,M$ は整数

部分点

この問題にはサブタスクによる部分点が設定されています。

サブタスク名配点制約
部分点1100 点$N\leq 6$
部分点2100 点$N\leq 18$
部分点350 点追加の制約はない

入力

$N\ M$
$S_1$
$S_2$
$\vdots$
$S_N$

出力

答えを一行に出力してください。

真の解との絶対誤差または相対誤差が $10^{-6}$ 以下のとき正解と判定されます。

サンプル

サンプル1
入力
2 2
oo
ox
出力
1.5

マップ $1$ からスタートした場合、そこから答えは一意ではないのでマップ $2$ に移動します。ここで答えが一意に定まるため、スコアは $2$ です。

マップ $2$ からスタートした場合、この時点で答えは一意に定まるため、スコアは $1$ です。

よって、答えは $\frac{1+2}{2}=1.5$ となります。

サンプル2
入力
3 3
xox
xox
xox
出力
1

サンプル3
入力
5 5
ooxoo
xoooo
oxooo
oooox
ooooo
出力
4.8

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。