結果
| 問題 | No.108 トリプルカードコンプ |
| コンテスト | |
| ユーザー |
vwxyz
|
| 提出日時 | 2021-09-23 18:36:23 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 375 ms / 5,000 ms |
| コード長 | 662 bytes |
| コンパイル時間 | 113 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 24,960 KB |
| 最終ジャッジ日時 | 2024-07-05 09:29:16 |
| 合計ジャッジ時間 | 5,056 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 20 |
ソースコード
import sys
readline=sys.stdin.readline
N=int(readline())
dp=[[[0]*(N+1) for j in range(N+1)] for i in range(N+1)]
for ijk in range(1,N+1):
for i in range(ijk+1):
jk=ijk-i
for j in range(jk+1):
k=jk-j
dp[i][j][k]=N/(i+j+k)
if i:
dp[i][j][k]+=dp[i-1][j+1][k]*i/(i+j+k)
if j:
dp[i][j][k]+=dp[i][j-1][k+1]*j/(i+j+k)
if k:
dp[i][j][k]+=dp[i][j][k-1]*k/(i+j+k)
A=list(map(int,readline().split()))
c0,c1,c2=0,0,0
for a in A:
if a==0:
c0+=1
elif a==1:
c1+=1
elif a==2:
c2+=1
ans=dp[c0][c1][c2]
print(ans)
vwxyz