結果
問題 | No.108 トリプルカードコンプ |
ユーザー | convexineq |
提出日時 | 2020-12-11 06:05:04 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 84 ms / 5,000 ms |
コード長 | 536 bytes |
コンパイル時間 | 204 ms |
コンパイル使用メモリ | 82,504 KB |
実行使用メモリ | 85,612 KB |
最終ジャッジ日時 | 2024-09-19 21:07:02 |
合計ジャッジ時間 | 2,446 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 20 |
ソースコード
n = int(input()) *a, = map(int,input().split()) dp = [[[0]*(n+1) for _ in range(n+1)] for _ in range(n+1)] for i in range(n+1): for j in range(n+1): for k in range(n+1): if i==j==k==0: continue x = n-i-j-k if x < 0: break v = 0.0 if i: v += i*dp[i-1][j+1][k] if j: v += j*dp[i][j-1][k+1] if k: v += k*dp[i][j][k-1] dp[i][j][k] = (v/n + 1)*n/(n-x) r = [0,0,0] for ai in a: if ai <= 2: r[ai] += 1 print(dp[r[0]][r[1]][r[2]])