結果
問題 | No.133 カードゲーム |
ユーザー |
![]() |
提出日時 | 2016-02-19 15:09:19 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 919 bytes |
コンパイル時間 | 559 ms |
コンパイル使用メモリ | 65,088 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-25 03:42:30 |
合計ジャッジ時間 | 1,367 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
#include <iostream>#include <vector>#include <algorithm>using namespace std;#define RREP(i,s,e) for (i = e-1; i >= s; i--)#define rrep(i,n) RREP(i,0,n)#define REP(i,s,e) for (i = s; i < e; i++)#define rep(i,n) REP(i,0,n)#define INF 1e8double dfs(vector<int>& a, vector<int>& b, int cnt) {int i, j, ret = 0;if (a.empty())return cnt > 0;rep (i,a.size()) rep (j,b.size()) {auto x = a;auto y = b;int c = cnt;x.erase(x.begin()+i);y.erase(y.begin()+j);c += (a[i] > b[j]) - (a[i] < b[j]);ret += dfs(x,y,c);}return ret;}int main() {int n, i, total = 1;double ans;vector<int> a,b;cin >> n;a.resize(n);b.resize(n);rep (i,n) cin >> a[i];rep (i,n) cin >> b[i];rep (i,n) total *= i+1;total *= total;ans = dfs(a,b,0) / total;cout << ans << endl;return 0;}