Submission #6343630


Source Code Expand

K = int(input())
N = 2 ** K
V = [[0 for _ in range(N)] for _ in range(N)]
R = []
for _ in range(N):
    R.append(int(input()))

for i in range(N):
    for j in range(0, i):
        V[i][j] = 1 / (1 + 10 ** ((R[j] - R[i]) / 400))
        V[j][i] = 1 - V[i][j]

dp = [[0 for _ in range(N)] for _ in range(K+1)]
dp[0] = [1] * N

for i in range(1, K+1):
    for j in range(N):
        a = 2 ** (i-1)
        a2 = a * 2
        b = j // a * a
        b2 = j // a2 * a2
        low = b2 + ((b + a) % a2)
        for k in range(low, low+a):
            dp[i][j] += V[j][k] * dp[i-1][k] * dp[i-1][j]

print('\n'.join(map(str, dp[-1])))

Submission Info

Submission Time
Task C - トーナメント
User qython
Language Python (3.4.3)
Score 4
Code Size 654 Byte
Status AC
Exec Time 1114 ms
Memory 37492 KB

Judge Result

Set Name All
Score / Max Score 4 / 4
Status
AC × 6
Set Name Test Cases
All 00, 01, 02, 03, 90, 91
Case Name Status Exec Time Memory
00 AC 1114 ms 37492 KB
01 AC 1078 ms 37492 KB
02 AC 1016 ms 37492 KB
03 AC 1100 ms 37492 KB
90 AC 17 ms 3064 KB
91 AC 17 ms 3064 KB