結果
| 問題 |
No.76 回数の期待値で練習
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-07-24 00:46:12 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 3,620 ms / 5,000 ms |
| コード長 | 654 bytes |
| コンパイル時間 | 162 ms |
| コンパイル使用メモリ | 81,772 KB |
| 実行使用メモリ | 262,124 KB |
| 最終ジャッジ日時 | 2024-09-25 03:39:23 |
| 合計ジャッジ時間 | 4,235 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 2 |
ソースコード
E = [0, 1.0, 1.0833333333333333, 1.2569444444444444,
1.5353009259259260, 1.6915991512345676, 2.0513639724794235]
P = [0.0 for _ in range(7)]
P[1] = E[2] - 1
P[2] = E[3] - 1 - P[1] * E[2]
P[3] = E[4] - 1 - P[1] * E[3] - P[2] * E[2]
P[4] = E[5] - 1 - P[1] * E[4] - P[2] * E[3] - P[3] * E[2]
P[5] = E[6] - 1 - P[1] * E[5] - P[2] * E[4] - P[3] * E[3] - P[4] * E[2]
P[6] = 1.0 - sum(P)
for _ in range(int(input())):
n = int(input())
DP = [1.0 for _ in range(n + 1)]
DP[0] = 0.0
for i in range(1, n + 1):
for j in range(1, 7):
if i - j < 0:
break
DP[i] += DP[i - j] * P[j]
print(DP[n])