結果
問題 | No.133 カードゲーム |
ユーザー | matsu7874 |
提出日時 | 2015-03-27 00:33:29 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 30 ms / 5,000 ms |
コード長 | 716 bytes |
コンパイル時間 | 78 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 10,880 KB |
最終ジャッジ日時 | 2024-06-25 03:29:17 |
合計ジャッジ時間 | 1,516 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 |
ソースコード
N = int(input()) A = [int(x) for x in input().split()] B = [int(x) for x in input().split()] def calc(Sa,Sb,Ha,Hb,P): if len(Ha)<=1: if Ha[0]>Hb[0]: Sa += 1 else: Sb += 1 if Sa>Sb: return P else: return 0 else: PP = 0.0 for ha in Ha: for hb in Hb: sa = sb = 0 if ha>hb: sa = 1 else: sb = 1 pa = 1/len(Ha) pb = 1/len(Hb) PP += calc(Sa+sa,Sb+sb,[x for x in Ha if x != ha],[x for x in Hb if x != hb],P*pa*pb) return PP P_A_win = calc(0,0,A,B,1) print(P_A_win)