結果

問題 No.133 カードゲーム
ユーザー phsplsphspls
提出日時 2020-04-10 00:51:25
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 741 bytes
コンパイル時間 1,793 ms
コンパイル使用メモリ 174,356 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-14 03:44:40
合計ジャッジ時間 2,692 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define llong long long

int main() {
    int n;
    cin >> n;
    vector<int> a(n), b(n), idx(n);
    rep(i, n) cin >> a[i];
    rep(i, n) cin >> b[i];
    rep(i, n) idx[i] = i;

    vector<vector<int>> perm;
    int wins = 0;
    int total = 0;
    do {
        perm.push_back(idx);
    } while(next_permutation(idx.begin(), idx.end()));
    for(vector<int> a1: perm) {
        for(vector<int> b1: perm) {
            int win = 0;
            rep(i, n) {
                if(a[a1[i]] > b[b1[i]]) win++;
            }
            if(win*2 > n) wins++;
            total++;
        }
    }

    printf("%5f\n", (double)wins / (double)total);
}
0