SRM500 Div2 500

問題

N人で弱いと思う人に投票しあう。
もし、投票数が一番多い人が1人ならばその人が決定し終了する。
もし、そのような人が複数人いる場合、それらの人だけについて投票しなおす。

投票は、あらかじめ投票する人を決めている人が何人かいて、その人たちが先に投票する。
その次に、決めていないor投票先の人に投票できない場合、投票で一番少ない人に一様ランダムに投票する。

投票先を決めている人の投票先リストが与えられる。
この時、N人の中で、一番負ける確率が高い人の確率値を求める。

考え方

読解。シミュレーション。

各Roundでの投票をシミュレーションし、もし、1人に決定する場合は、1.0/最初のRoundで投票数が最大になる人の数。(等確率で決定する)

もし、投票しなおす人数が変わらない場合は、無限ループなので、0.0を返す。