Submission #3412895


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 A - コンテスト
User reiyw
Language Python (3.4.3)
Score 0
Code Size 1352 Byte
Status RE
Exec Time 148 ms
Memory 12104 KB

Judge Result

Set Name All
Score / Max Score 0 / 2
Status
RE × 5
Set Name Test Cases
All 00, 01, 02, 90, 91
Case Name Status Exec Time Memory
00 RE 148 ms 12104 KB
01 RE 148 ms 12104 KB
02 RE 147 ms 12104 KB
90 RE 147 ms 12104 KB
91 RE 148 ms 12104 KB