##学習報告
ABC154参加する気満々だったのに今週なかったorz
なので今回も過去問解いていきます!!
前回はB問題を解いて、次はいよいよC問題だったのですが思いの外難しく、ここ5日間ほどは数をこなそうとA-Cまでの問題をひたすら解いていました。
その途中で問題の難易度によって色が付いていることに気がつきました(遅い)。
ACもらえて喜んでいた問題も色を見れば灰()
つまり、今の自分の実力は灰色...
なら解いてやろう、茶の問題を!!!!
これが茶...指が動かない。
とりあえず出力例を見てみよう。
なるほど!!この確率の式の数字を一旦適当な変数(出た目をi,コインを振る回数をj)に置き換えてみると、
1/i*(0.5**j)
この式を繰り返し文に入れ、足し合わせていけば答えを求められますね!!
N,K = map(int,input().split())
ans = 0
for i in range(1,N+1):
j = 0
point = i
while point < K:
point *= 2
j += 1
ans += (1/N)*(0.5**j)
print(ans)
これでACいただけました!!
記事ではあっさり書いていますが、これ解くのに1時間かかりました。
もっと考えついてコード書いていかないといけない...
あと、これ以上の難易度の問題を解くには二分探索とか動的計画法とかいろいろ知っておかないといけないみたいなので、それも学習していきます。頭パンクしそう()
ご拝読いただき、ありがとうございました。
次回の更新はABC154後くらいになりそうですがよければまた読んでください。