問題一覧 > 通常問題

No.3079 Unite Japanese Prefectures

レベル : / 実行時間制限 : 1ケース 4.000秒 / メモリ制限 : 512 MB / 小数誤差許容問題 絶対誤差または相対誤差が$10^{-6}$ 以下。ただし、ジャッジ側の都合で500桁未満にしてください
タグ : / 解いたユーザー数 35
作問者 : 👑 binap / テスター : Iroha_3856 hamamu
6 ProblemId : 11967 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-03-29 00:02:57

ストーリー

日本の $47$ 都道府県を道路で繋ごう。

問題文

地域 $1$ から地域 $N$ までの $N$ 個の地域があります。初めこれらの地域間には道路は存在しません。

binapくんは( $6$ 面)サイコロと $M$ 組の $3$ つ組整数 $(U_1, V_1, C_1), \cdots, (U_M, V_M, C_M)$ が書かれたリストを用いて、全ての地域が道路を通って互いに行き来できるようになるまで以下の一連の操作を繰り返します。

  • サイコロを振る。

  • binapくんは出目を確認してから $1$ 以上 $M$ 以下の整数 $i$ を選ぶ。

  • 出目が $C_i$ 以上であれば地域 $U_i$ と地域 $V_i$ を双方向に結ぶ道路が作られる。

binapくんは操作回数の期待値を最小にするのが目的です。最適に行動し続けた場合の操作回数の期待値を求めてください。本題の制約下で期待値は有限であることが示せます。

サイコロについて

サイコロは $1$ 以上 $6$ 以下の整数の目が等確率で出るものとします。この試行は毎回独立です。

制約

  • $2\leq N \leq 47$

  • $\displaystyle N-1\leq M \leq \frac{N(N-1)}{2}$

  • $1 \leq U_i < V_i \leq N$ $(1\leq i \leq M)$

  • $(U_i,V_i) \neq (U_j,V_j)$ $( i \neq j )$

  • $1\leq C_i \leq 6$ $(1\leq i \leq M)$

  • $i = 1,2,\cdots, M$ なる整数 $i$ 全てについて地域 $U_i$ と地域 $V_i$ 間に道路を作った場合、全ての地域を互いに行き来できる。

  • 入力は全て整数。

入力

$N$ $M$
$U_1$ $V_1$ $C_1$
$\vdots$
$U_M$ $V_M$ $C_M$

出力

binapくんが最適に行動した場合の操作回数の期待値を $1$ 行で出力してください。想定解との絶対誤差または相対誤差が $10^{−6}$ 以下のとき正解と判定されます。

サンプル

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

例えば次のような展開があり得ます。

・出目が $1$ である。 $i = 1$ を選ぶ。地域 $1$ と地域 $2$ を結ぶ道路が作られる。

・出目が $5$ である。 $i = 3$ を選ぶ。地域 $2$ と地域 $3$ を結ぶ道路が作られる。これにより全ての地域は互いに行き来できるようになったので操作を終了する。

このときの操作の回数は $2$ 回です。あらゆるサイコロの出目の出方について最適に行動した場合、操作の回数の期待値は $\displaystyle \frac{61}{30}$ 回です。

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

サイコロの出目によらず $1$ 回の操作で全ての地域が互いに行き来できるようになります。

1.000000

などと出力してもかまいません。

サンプル3
入力
5 6
2 4 5
4 5 4
1 2 6
1 4 4
2 5 4
3 4 2
出力
6.2592

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