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 |
|
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 |