結果
問題 | No.133 カードゲーム |
ユーザー |
![]() |
提出日時 | 2018-11-14 16:40:48 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 1,286 bytes |
コンパイル時間 | 900 ms |
コンパイル使用メモリ | 76,004 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-24 13:43:54 |
合計ジャッジ時間 | 1,841 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
#include<stdio.h>#include<iostream>#include<algorithm>#include<string>#include<string.h>#include<math.h>#include<stdlib.h>#include<vector>#include<queue>#include<map>#define rep(index,num) for(int index=0;index<num;index++)#define rep1(index,num) for(int index=1;index<=num;index++)#define scan(argument) cin>>argument#define prin(argument) cout<<argument<<endl#define kaigyo cout<<endl#define eps 1e-15#define mp(a1,a2) make_pair(a1,a2)typedef long long ll;using namespace std;typedef pair<ll,ll> pll;typedef pair<int,int> pint;typedef vector<int> vint;typedef vector<ll> vll;typedef vector<pint> vpint;typedef vector<pll> vpll;ll INFl=1e+18+1;int INF=1e+9+1;int kaijo(int m){int ans=1;rep1(i,m){ans*=i;}return ans;}int main(){//https://yukicoder.me/problems/199int N;int A[4],B[4];scan(N);rep(i,N) scan(A[i]);rep(i,N) scan(B[i]);int siai=kaijo(N)*kaijo(N);int Awinnum=0;vint Ajun;rep(i,N) Ajun.push_back(i);do{vint Bjun;rep(i,N) Bjun.push_back(i);do{int Awin=0;rep(i,N){if(A[Ajun[i]]>B[Bjun[i]]) Awin++;}if(Awin>N/2) Awinnum++;}while(next_permutation(Bjun.begin(),Bjun.end()));}while(next_permutation(Ajun.begin(),Ajun.end()));double ans=(double)Awinnum/siai;prin(ans);return 0;}