338.1

普通につまらないセット。

250

N試合した結果K勝した状態であるとき、勝率を%表示(端数切り捨て)するとき、勝率を上げるのに必要な最低試合数を答えよ、という問題。


負け数は変わらないので、現在の勝率がP%とすると(P+1)%にするには、負け数(N-K)を(100-(P+1))で割ったものを繰り上げた総試合数にすれば良い。

500

N個のものから2個を選んでswapするという操作をK回した時に、最初A番目のものがB番目に移動する確率を答えよ、という問題。


B番目にいるかいないかを覚えておけば良く、後はそれらの間の遷移確率を乗算していくだけ。50^50の遷移確率のテーブルを作って、行列乗算にしてべき乗する方がすっきりかも知れない。

1000

一番大きい山から取らないといけないNimで、最初にすべき行動を答えよ、という問題。ただし、複数同じ操作が可能なら、整数を文字列にして辞書順で最初の行動を答えよ、という問題。


一番大きい山の数が1個のとき、二番目に大きい山の数を偶数個にするような操作をすれば、次も自分が一番大きい山の数が1個の状態で受け取れる。一番大きい山の数が2個以上のときは、どうやっても同じ。二番目に大きい山の数を偶数個にするので、奇数個なら揃える以外に選択肢はないが、既に偶数個なら、二番目の山より小さくなるいずれの動作でも良い。このとき、辞書順に注意するだけ。