結果

問題 No.133 カードゲーム
ユーザー irohasu_takaokairohasu_takaoka
提出日時 2018-12-28 14:55:28
言語 C++11
(gcc 11.4.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
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
5,248 KB
testcase_01 AC 1 ms
5,248 KB
testcase_02 AC 1 ms
5,248 KB
testcase_03 AC 2 ms
5,248 KB
testcase_04 AC 1 ms
5,248 KB
testcase_05 AC 1 ms
5,248 KB
testcase_06 AC 1 ms
5,248 KB
testcase_07 AC 1 ms
5,248 KB
testcase_08 AC 1 ms
5,248 KB
testcase_09 AC 1 ms
5,248 KB
testcase_10 AC 1 ms
5,248 KB
testcase_11 AC 1 ms
5,248 KB
testcase_12 AC 1 ms
5,248 KB
testcase_13 AC 1 ms
5,248 KB
testcase_14 AC 1 ms
5,248 KB
testcase_15 AC 1 ms
5,248 KB
testcase_16 AC 1 ms
5,248 KB
testcase_17 AC 1 ms
5,248 KB
testcase_18 AC 1 ms
5,248 KB
testcase_19 AC 1 ms
5,248 KB
testcase_20 AC 1 ms
5,248 KB
testcase_21 AC 1 ms
5,248 KB
testcase_22 AC 1 ms
5,248 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#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;
}
0