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
AC × 6
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