Submission #5118454
Source Code Expand
from functools import lru_cache import sys sys.setrecursionlimit(1000000) @lru_cache(maxsize=None) def calc(a, b): pass N, D = map(int, input().split()) A, B = 0, 0 while D%2==0: A += 1 D //= 2 while D%3==0: B += 1 D //= 3 if D > 1: print(0) else: X = [[0] * (B+1) for _ in range(A+1)] X[0][0] = 1 for i in range(N): Y = [[0] * (B+1) for _ in range(A+1)] for a in range(A+1): for b in range(B+1): Y[min(a+1, A)][min(b+1, B)] += X[a][b]/6 # 6 Y[min(a+1, A)][b] += X[a][b]/3 # 2, 4 Y[a][min(b+1, B)] += X[a][b]/6 # 3 Y[a][b] += X[a][b]/3 # 1, 5 X = Y print("{:.10f}".format(X[-1][-1]))
Submission Info
Submission Time | |
---|---|
Task | D - サイコロ |
User | Kiri8128 |
Language | Python (3.4.3) |
Score | 0 |
Code Size | 765 Byte |
Status | WA |
Exec Time | 80 ms |
Memory | 3572 KB |
Judge Result
Set Name | All | ||||
---|---|---|---|---|---|
Score / Max Score | 0 / 4 | ||||
Status |
|
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 | 23 ms | 3572 KB |
01 | WA | 23 ms | 3572 KB |
02 | WA | 23 ms | 3572 KB |
03 | WA | 23 ms | 3572 KB |
04 | WA | 24 ms | 3572 KB |
05 | WA | 23 ms | 3572 KB |
06 | WA | 23 ms | 3572 KB |
07 | WA | 80 ms | 3572 KB |
08 | AC | 23 ms | 3572 KB |
09 | WA | 23 ms | 3572 KB |
10 | AC | 23 ms | 3572 KB |
90 | AC | 23 ms | 3572 KB |
91 | AC | 23 ms | 3572 KB |