結果

問題 No.133 カードゲーム
ユーザー wightou
提出日時 2025-06-27 05:22:27
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 2 ms / 5,000 ms
コード長 941 bytes
コンパイル時間 2,878 ms
コンパイル使用メモリ 279,680 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2025-06-27 05:22:33
合計ジャッジ時間 3,814 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 19
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

/////////////////// メイン ///////////////////

int main () {
  
  //////////////////// 入力 ////////////////////

  int n;
  cin >> n;

  vector<int> a(n);
  for (int i=0; i<n; i++) {
    cin >> a.at(i);
  }

  vector<int> b(n);
  for (int i=0; i<n; i++) {
    cin >> b.at(i);
  }

  //////////////// 出力変数定義 ////////////////

  double result = 0;

  //////////////////// 処理 ////////////////////

  int counter = 0;

  vector<int> vec(n);
  iota(vec.begin(),vec.end(),0);
  do {

    int win = 0;
    for (int i=0; i<n; i++) {
      if (a.at(i)>b.at(vec.at(i))) win++;
    }

    if (win*2>n) result++;
    counter++;
    
  } while (next_permutation(vec.begin(), vec.end()));

  result /= counter;

  //////////////////// 出力 ////////////////////

  cout << fixed << setprecision(3) << result << endl;

  //////////////////// 終了 ////////////////////

  return 0;

}
0