Submission #6438276
Source Code Expand
#include <bits/stdc++.h> #define debug(x) cerr << #x << ": " << x << '\n'; using namespace std; using ll = long long; using P = pair<int, int>; const int INF = (int)1e9; int main(void){ int K; cin >> K; int N = (int)pow(2, K); vector<int> R(N); for(int i = 0; i < N; i++) cin >> R[i]; vector<vector<double>> dp(N, vector<double>(K+1)); for(int i = 0; i < N; i++) dp[i][0] = 1.0; for(int i = 0; i < K; i++){ for(int j = 0; j < N; j++){ double sum = 0; for(int k = 0; k < N; k++){ if((j>>i) != (k>>i) and (j>>(i+1)) == (k>>(i+1))) sum += dp[k][i] / (1.0 + pow(10.0, (R[k] - R[j]) / 400.0)); } dp[j][i+1] = sum * dp[j][i]; } } for(int i = 0; i < N; i++) cout << fixed << setprecision(9) << dp[i][K] << '\n'; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - トーナメント |
User | yna87 |
Language | C++14 (GCC 5.4.1) |
Score | 4 |
Code Size | 888 Byte |
Status | AC |
Exec Time | 89 ms |
Memory | 512 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 | 89 ms | 512 KB |
01 | AC | 87 ms | 384 KB |
02 | AC | 28 ms | 384 KB |
03 | AC | 87 ms | 384 KB |
90 | AC | 1 ms | 256 KB |
91 | AC | 1 ms | 256 KB |