結果
| 問題 | No.133 カードゲーム | 
| コンテスト | |
| ユーザー |  sugarrr | 
| 提出日時 | 2018-09-14 01:20:02 | 
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 943 bytes | 
| コンパイル時間 | 1,584 ms | 
| コンパイル使用メモリ | 169,940 KB | 
| 実行使用メモリ | 6,948 KB | 
| 最終ジャッジ日時 | 2024-07-01 04:35:34 | 
| 合計ジャッジ時間 | 2,426 ms | 
| ジャッジサーバーID (参考情報) | judge4 / judge2 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 19 | 
ソースコード
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define i_7 (ll)(1E9+7)
#define i_5 (ll)(1E9+5)
ll mod(ll a){
    ll c=a%i_7;
    if(c>=0)return c;
    else return c+i_7;
}
typedef pair<int,int> i_i;
typedef pair<ll,ll> l_l;
ll inf=(ll)1E12;/*10^12*/
#define rep(i,l,r) for(ll i=l;i<=r;i++)
#define pb push_back
ll max(ll a,ll b){if(a<b)return b;else return a;}
ll min(ll a,ll b){if(a>b)return b;else return a;}
////////////////////////////////////////
int kai(int k){
    if(k==0||k==1)return 1;
    else return k*kai(k-1);
}
int main(){
    ios::sync_with_stdio(false);cin.tie(0);
    int n;cin>>n;
    int a[n];rep(i,0,n-1)cin>>a[i];
    int b[n];rep(i,0,n-1)cin>>b[i];
    sort(a,a+n);
    int c=0;
    do{
        int w=0;
        rep(i,0,n-1)if(a[i]>b[i])w++;
        if(w>n/2)c++;
    }while(next_permutation(a,a+n));
    double per=(double)c/(double)kai(n);
    
    printf("%1.10lf\n",per);
    
    return 0;
}
            
            
            
        