結果
| 問題 |
No.133 カードゲーム
|
| コンテスト | |
| ユーザー |
irohasu_takaoka
|
| 提出日時 | 2018-12-28 14:55:28 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 953 bytes |
| コンパイル時間 | 1,111 ms |
| コンパイル使用メモリ | 158,968 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-01 15:00:15 |
| 合計ジャッジ時間 | 1,754 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 |
| other | AC * 19 |
ソースコード
#include<cstdio>
#include<bits/stdc++.h>
#define REP(i, n) for(int (i) = 0; (i) < (n); (i)++)
#define FOR_IN(i, a, b) for(int (i) = (a); (i) < (b); (i)++)
#define IN(x, a, b) ((x) >= (a) && (x) <= (b))
using namespace std;
/*
n <5
a0 a1 ...
b0 b1 ...
*/
int n;
int a[4];
int b[4];
int perm[4];
int fact(int n){
if(n==0)
return 1;
else
return n * fact(n-1);
}
int main(){
cin >> n;
REP(i,n){
cin>>a[i];
}
REP(i,n){
cin>>b[i];
}
REP(i,n)
perm[i]=i;
int win_num=0;
do{
int awin=0;
int bwin=0;
REP(i,n){
//cerr << "a=" << a[i] << ", b=" << b[perm[i]] << "\n";
if(a[i] > b[perm[i]]){
//cerr << "a win!\n";
awin++;
} else if(a[i] < b[perm[i]]){
//cerr << "b win!\n";
bwin++;
}
}
if(awin>bwin)
win_num++;
}while(next_permutation(perm, perm+n));
cout << ((double)win_num/(double)(fact(n))) << endl;
return 0;
}
irohasu_takaoka