Submission #5118274
Source Code Expand
K = int(input()) N = 1<<K R = [int(input()) for _ in range(1<<K)] def calc(A, B): ret = [[t[0], 0] for t in A] + [[t[0], 0] for t in B] for i, a in enumerate(A): for j, b in enumerate(B): ra = R[a[0]] rb = R[b[0]] wa = 1 / (1 + 10 ** ((rb-ra)/400)) wb = 1 - wa ret[i][1] += wa * a[1] * b[1] ret[j+len(A)][1] += wb * a[1] * b[1] return ret X = [[] for _ in range(2*N-1)] for i in range(N): X[i+N-1] = [[i, 1]] for k in range(K)[::-1]: for i in range(2**k-1, 2**(k+1) - 1): X[i] = calc(X[2*i+1], X[2*i+2]) for x in X[0]: print("{:.10f}".format(x[1]))
Submission Info
Submission Time | |
---|---|
Task | C - トーナメント |
User | Kiri8128 |
Language | Python (3.4.3) |
Score | 4 |
Code Size | 687 Byte |
Status | AC |
Exec Time | 654 ms |
Memory | 4844 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 4 / 4 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00, 01, 02, 03, 90, 91 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00 | AC | 609 ms | 4724 KB |
01 | AC | 654 ms | 4844 KB |
02 | AC | 531 ms | 4844 KB |
03 | AC | 630 ms | 4844 KB |
90 | AC | 17 ms | 3064 KB |
91 | AC | 17 ms | 3064 KB |