Submission #5118503


Source Code Expand

N, D = map(int, input().split())

A, B, C = 0, 0, 0
while D%2==0:
    A += 1
    D //= 2
while D%3==0:
    B += 1
    D //= 3
while D%5==0:
    C += 1
    D //= 5

if D > 1:
    print(0)
else:
    X = [[[0] * (C+1) for _ in range(B+1)] for __ in range(A+1)]
    X[0][0][0] = 1
    for i in range(N):
        Y = [[[0] * (C+1) for _ in range(B+1)] for __ in range(A+1)]
        for a in range(A+1):
            for b in range(B+1):
                for c in range(C+1):
                    Y[min(a+1, A)][min(b+1, B)][c] += X[a][b][c]/6 # 6
                    Y[min(a+1, A)][b][c] += X[a][b][c]/3 # 2, 4
                    Y[a][min(b+1, B)][c] += X[a][b][c]/6 # 3
                    Y[a][b][min(c+1, C)] += X[a][b][c]/6 # 5
                    Y[a][b][c] += X[a][b][c]/6 # 1
        X = Y
    print("{:.10f}".format(X[-1][-1][-1]))
    

Submission Info

Submission Time
Task D - サイコロ
User Kiri8128
Language Python (3.4.3)
Score 0
Code Size 867 Byte
Status WA
Exec Time 255 ms
Memory 3188 KB

Judge Result

Set Name All
Score / Max Score 0 / 4
Status
AC × 8
WA × 5
Set Name Test Cases
All 00, 01, 02, 03, 04, 05, 06, 07, 08, 09, 10, 90, 91
Case Name Status Exec Time Memory
00 AC 24 ms 3064 KB
01 AC 221 ms 3064 KB
02 AC 88 ms 3064 KB
03 WA 97 ms 3064 KB
04 WA 53 ms 3064 KB
05 AC 255 ms 3064 KB
06 WA 222 ms 3188 KB
07 WA 125 ms 3064 KB
08 AC 90 ms 3064 KB
09 WA 40 ms 3064 KB
10 AC 18 ms 3064 KB
90 AC 18 ms 3064 KB
91 AC 17 ms 3064 KB