結果
問題 | No.133 カードゲーム |
ユーザー |
![]() |
提出日時 | 2023-12-16 00:02:51 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,147 bytes |
コンパイル時間 | 2,211 ms |
コンパイル使用メモリ | 198,268 KB |
最終ジャッジ日時 | 2025-02-18 11:37:40 |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
#include <bits/stdc++.h> using namespace std; using ll = long long; #define ALL(v) v.begin(),v.end() #define debug(x) cerr << #x << ": " << x << endl; const ll MOD = 1e9+7; const ll INF = 1LL << 60; void Yes(bool flag) { cout << (flag ? "Yes" : "No") << endl; } using pii = pair<int, int>; template<class F, class S> ostream& operator << (ostream& os, pair<F,S> p) { return os << '(' << p.first << ',' << p.second << ')'; } template<class Iter> void print(Iter beg, Iter end) { for (Iter itr = beg; itr != end; ++itr) { cerr << *itr << ' '; } cerr << endl; } int N; vector<int> A,B; int main() { cin >> N; A.resize(N); B.resize(N); for (auto& a : A) cin >> a; for (auto& b : B) cin >> b; sort(ALL(A)); sort(ALL(B)); int all = 0, win = 0; do { do { ++all; int cnt = 0; for (int i = 0; i < N; ++i) { if (A[i] > B[i]) ++cnt; } if (cnt > N / 2) ++win; } while (next_permutation(ALL(B))); } while (next_permutation(ALL(A))); cout << fixed << setprecision(6) << (double)win / all << endl; }