結果
| 問題 | No.301 サイコロで確率問題 (1) |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2015-11-15 04:30:40 |
| 言語 | PyPy2 (7.3.20) |
| 結果 |
MLE
|
| 実行時間 | - |
| コード長 | 674 bytes |
| 記録 | |
| コンパイル時間 | 144 ms |
| コンパイル使用メモリ | 77,608 KB |
| 最終ジャッジ日時 | 2025-12-03 17:50:16 |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | MLE * 2 |
ソースコード
# -*- coding: utf-8 -*-
# based http://garnacha.techblog.jp/archives/39531672.html
SHULESHOLD = 1000
N = SHULESHOLD
A = [0] * (N + 1)
B = [0] * (N + 1)
inv = 1.0 / 6
for i in range(N - 1, -1, -1):
for j in range(1, 7):
if i + j > N:
A[i] += inv
B[i] += inv
else:
A[i] += (A[i + j] + 1) * inv
B[i] += B[i + j] * inv
T = int(raw_input())
for _ in range(T):
N = int(raw_input())
if N < SHULESHOLD:
ans = A[SHULESHOLD - N] / (1 - B[SHULESHOLD - N])
# 98回くらいで誤差が範囲内になった。
print
else:
ans = (N + 5 / 3.0)
print "%.15f" % ans