結果

問題 No.133 カードゲーム
ユーザー えびちゃん
提出日時 2019-02-11 23:55:23
言語 C++17(1z)
(gcc 8.2.0)
結果
AC  
実行時間 2,150 ms
コード長 638 Byte
コンパイル時間 756 ms
使用メモリ 5,060 KB
最終ジャッジ日時 2019-02-11 23:56:06

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
99_system_test1.txt AC 1,043 ms
5,060 KB
sample1.txt AC 1,063 ms
5,052 KB
sample2.txt AC 961 ms
5,056 KB
sample3.txt AC 295 ms
5,056 KB
sample4.txt AC 1,429 ms
5,052 KB
system_test1.txt AC 2,089 ms
5,052 KB
system_test2.txt AC 2,150 ms
5,052 KB
system_test3.txt AC 2,140 ms
5,056 KB
system_test4.txt AC 1,440 ms
5,056 KB
system_test5.txt AC 1,430 ms
5,056 KB
system_test6.txt AC 2,116 ms
5,052 KB
system_test7.txt AC 2,136 ms
5,056 KB
system_test8.txt AC 2,128 ms
5,052 KB
system_test9.txt AC 1,072 ms
5,052 KB
system_test10.txt AC 1,431 ms
5,052 KB
system_test11.txt AC 1,431 ms
5,056 KB
system_test12.txt AC 2,138 ms
5,056 KB
test1.txt AC 1,851 ms
5,056 KB
test2.txt AC 2,112 ms
5,056 KB
test3.txt AC 2,089 ms
5,052 KB
test4.txt AC 2,068 ms
5,052 KB
test5.txt AC 2,137 ms
5,052 KB
test6.txt AC 2,106 ms
5,056 KB
テストケース一括ダウンロード

ソースコード

diff #
#include <cstdio>
#include <vector>
#include <algorithm>
#include <random>

std::mt19937 rsk(0315);

bool wins(std::vector<int>& A, std::vector<int> &B) {
  std::shuffle(A.begin(), A.end(), rsk);
  std::shuffle(B.begin(), B.end(), rsk);
  size_t N = A.size();
  int a = 0;
  int b = 0;
  for (size_t i = 0; i < N; ++i)
    ++((A[i] > B[i])? a:b);
  return a > b;
}

int main() {
  size_t N;
  scanf("%zu", &N);

  std::vector<int> A(N), B(N);
  for (auto& ai: A) scanf("%d", &ai);
  for (auto& bi: B) scanf("%d", &bi);

  int win = 0;
  for (int i = 0; i < 10000000; ++i)
    if (wins(A, B))
      ++win;

  printf("%.6f\n", win*1e-7);
}
0