Submission #5537942


Source Code Expand

N, D = map(int, input().split())
a = []
for i in (2, 3, 5):
    count = 0
    while D % i == 0:
        count += 1
        D /= i
    a.append(count)

if D > 1:
    print(0)
    exit()

dp = [[[[0 for _ in range(a[2]+1)] for _ in range(a[1]+1)] for _ in range(a[0]+1)] for _ in range(N+1)]

dp[0][0][0][0] = 1
for i in range(N):
    for j in range(a[0]+1):
        for k in range(a[1]+1):
            for l in range(a[2]+1):
                dp[i+1][j][k][l] += dp[i][j][k][l] / 6.0
                dp[i+1][min(a[0], j+1)][k][l] += dp[i][j][k][l] / 6.0
                dp[i+1][j][min(a[1], k+1)][l] += dp[i][j][k][l] / 6.0
                dp[i+1][min(a[0], j+2)][k][l] += dp[i][j][k][l] / 6.0
                dp[i+1][j][k][min(a[2], l+1)] += dp[i][j][k][l] / 6.0
                dp[i+1][min(a[0], j+1)][min(a[1], k+1)][l] += dp[i][j][k][l] / 6.0

print(dp[N][a[0]][a[1]][a[2]])

Submission Info

Submission Time
Task D - サイコロ
User suika_p
Language Python (3.4.3)
Score 4
Code Size 905 Byte
Status AC
Exec Time 367 ms
Memory 8308 KB

Judge Result

Set Name All
Score / Max Score 4 / 4
Status
AC × 13
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 26 ms 3188 KB
01 AC 305 ms 6388 KB
02 AC 125 ms 3956 KB
03 AC 129 ms 4212 KB
04 AC 69 ms 3572 KB
05 AC 367 ms 6516 KB
06 AC 293 ms 8308 KB
07 AC 163 ms 7412 KB
08 AC 120 ms 4340 KB
09 AC 47 ms 3828 KB
10 AC 17 ms 3188 KB
90 AC 17 ms 3188 KB
91 AC 17 ms 3188 KB