結果
問題 |
No.75 回数の期待値の問題
|
ユーザー |
![]() |
提出日時 | 2024-08-27 02:15:00 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 89 ms / 5,000 ms |
コード長 | 450 bytes |
コンパイル時間 | 835 ms |
コンパイル使用メモリ | 82,328 KB |
実行使用メモリ | 77,028 KB |
最終ジャッジ日時 | 2024-08-27 02:15:03 |
合計ジャッジ時間 | 2,819 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 16 |
ソースコード
memo = {} def f(x: int, p: float) -> float: if x < 0: return p if x == 0: return 0 if x in memo: return memo[x] res = 0 for i in range(1, 7): res += (f(x-i, p) + 1) / 6 memo[x] = res return res K = int(input()) lo = 1 hi = 1 << 60 ans = hi for i in range(100): p = (lo + hi) / 2 memo.clear() if f(K, p) <= p: ans = min(ans, p) hi = p else: lo = p print(f'{ans:.10f}')