結果

問題 No.301 サイコロで確率問題 (1)
ユーザー gew1fw
提出日時 2025-06-12 19:28:34
言語 PyPy3
(7.3.15)
結果
MLE  
実行時間 -
コード長 1,384 bytes
コンパイル時間 233 ms
コンパイル使用メモリ 81,888 KB
実行使用メモリ 97,728 KB
最終ジャッジ日時 2025-06-12 19:28:37
合計ジャッジ時間 2,822 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other MLE * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

import sys
from fractions import Fraction

def main():
    input = sys.stdin.read().split()
    T = int(input[0])
    cases = list(map(int, input[1:T+1]))
    for N in cases:
        if N <= 6:
            print("6.0")
            continue
        
        a = [Fraction(0, 1) for _ in range(7)]  # a_0 unused
        c = [Fraction(0, 1) for _ in range(7)]
        
        a[1] = Fraction(5, 6)
        c[1] = Fraction(1, 1)
        
        a[2] = (a[1] + Fraction(4, 1)) / 6
        c[2] = (Fraction(6, 1) + c[1]) / 6
        
        a[3] = (a[2] + a[1] + Fraction(3, 1)) / 6
        c[3] = (Fraction(6, 1) + c[2] + c[1]) / 6
        
        a[4] = (a[3] + a[2] + a[1] + Fraction(2, 1)) / 6
        c[4] = (Fraction(6, 1) + c[3] + c[2] + c[1]) / 6
        
        a[5] = (a[4] + a[3] + a[2] + a[1] + Fraction(1, 1)) / 6
        c[5] = (Fraction(6, 1) + c[4] + c[3] + c[2] + c[1]) / 6
        
        a[6] = (a[5] + a[4] + a[3] + a[2] + a[1]) / 6
        c[6] = (Fraction(6, 1) + c[5] + c[4] + c[3] + c[2] + c[1]) / 6
        
        sum_a = sum(a[1:7])
        sum_c = sum(c[1:7])
        
        numerator = Fraction(1, 1) + sum_c / Fraction(6, 1) + Fraction(2, 7) * (N - 7)
        denominator = Fraction(1, 1) - sum_a / Fraction(6, 1)
        
        E0 = numerator / denominator
        
        print("{0:.12f}".format(float(E0)))

if __name__ == '__main__':
    main()
0