結果
問題 |
No.301 サイコロで確率問題 (1)
|
ユーザー |
![]() |
提出日時 | 2020-03-21 12:29:07 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 83 ms / 1,000 ms |
コード長 | 684 bytes |
コンパイル時間 | 243 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 11,776 KB |
最終ジャッジ日時 | 2024-12-21 13:43:33 |
合計ジャッジ時間 | 811 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 2 |
ソースコード
#!/usr/bin/ python3.8 import sys read = sys.stdin.buffer.read readline = sys.stdin.buffer.readline readlines = sys.stdin.buffer.readlines def solve(K): A = [0] * (K + 10) B = [0] * (K + 10) for n in range(1, 7): A[-n] = 0 B[-n] = 1 for n in range(1, K + 1): a = 0 b = 0 for i in range(1, 7): a += A[n - i] b += B[n - i] A[n] = 1 + a / 6 B[n] = b / 6 a = A[K] b = B[K] answer = a / (1 - b) return answer values = [solve(n) for n in range(201)] T, *N = map(int, read().split()) for n in N: if n <= 200: print(values[n]) else: print(n + 5 / 3)