Submission #3412899


Source Code Expand

import bisect
import collections
import heapq
import itertools
import operator
import sys
 
import numpy as np
 
 
def main():
    n, d = map(int, sys.stdin.readline().split())
    ns = []
    while True:
        for i in [2, 3, 5]:
            div, mod = divmod(d, i)
            if mod == 0:
                ns.append(i)
                d = div
                continue
        else:
            break
    if d != 1:
        print(0)
        return
 
    dp = np.zeros((101, 61, 40, 30))
    dp[0][0][0][0] = 1
    for l in range(n):
        for i in range(59):
            for j in range(39):
                for k in range(29):
                    dp[l + 1][i][j][k] += dp[l][i][j][k]
                    dp[l + 1][i + 1][j][k] += dp[l][i][j][k]
                    dp[l + 1][i][j + 1][k] += dp[l][i][j][k]
                    dp[l + 1][i + 2][j][k] += dp[l][i][j][k]
                    dp[l + 1][i][j][k + 1] += dp[l][i][j][k]
                    dp[l + 1][i + 1][j + 1][k] += dp[l][i][j][k]
 
    ans = 0
    n2 = ns.count(2)
    n3 = ns.count(3)
    n5 = ns.count(5)
    for i in range(n2, 61):
        for j in range(n3, 40):
            for k in range(n5, 30):
                ans += dp[n][i][j][k]
 
    print("{:.8f}".format(float(ans / 6 ** n)))
 
 
if __name__ == "__main__":
    main()

Submission Info

Submission Time
Task D - サイコロ
User reiyw
Language Python (3.4.3)
Score 0
Code Size 1352 Byte
Status WA
Exec Time 2108 ms
Memory 14904 KB

Judge Result

Set Name All
Score / Max Score 0 / 4
Status
AC × 4
WA × 8
TLE × 1
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 148 ms 12104 KB
01 WA 148 ms 12104 KB
02 WA 148 ms 12104 KB
03 WA 147 ms 12104 KB
04 WA 148 ms 12104 KB
05 WA 147 ms 12104 KB
06 WA 147 ms 12104 KB
07 WA 148 ms 12104 KB
08 AC 148 ms 12104 KB
09 WA 148 ms 12104 KB
10 AC 149 ms 12104 KB
90 AC 1757 ms 14904 KB
91 TLE 2108 ms 14008 KB