結果
問題 |
No.133 カードゲーム
|
ユーザー |
|
提出日時 | 2022-03-23 22:52:12 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 817 bytes |
コンパイル時間 | 2,002 ms |
コンパイル使用メモリ | 199,804 KB |
最終ジャッジ日時 | 2025-01-28 11:10:31 |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
#include<bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<int>A(n); vector<int>B(n); vector<int>indexs(n); vector<vector<int>>permulation_memo; for (int i = 0; i < n; i++) { cin >> A.at(i); indexs.at(i) = i; } for (int i = 0; i < n; i++) cin >> B.at(i); int A_win_total = 0; int total = 0; do { permulation_memo.push_back(indexs); } while (next_permutation(indexs.begin(), indexs.end())); for (vector<int>indexsA : permulation_memo) { for (vector<int>indexsB : permulation_memo) { total++; int A_win = 0; int B_win = 0; for (int i = 0; i < n; i++) { if (A.at(indexsA.at(i)) < B.at(indexsB.at(i))) B_win++; else A_win++; } if (A_win > B_win) A_win_total++; } } cout << (double)A_win_total / (double)total << endl; }