結果
問題 |
No.58 イカサマなサイコロ
|
ユーザー |
|
提出日時 | 2015-02-13 23:03:51 |
言語 | Python2 (2.7.18) |
結果 |
WA
|
実行時間 | - |
コード長 | 702 bytes |
コンパイル時間 | 50 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-06-23 19:52:39 |
合計ジャッジ時間 | 871 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 6 WA * 4 |
ソースコード
import itertools as it def denomi(dices): res = 1 for i in set(dices): res *= fact[dices.count(i)] return res fact = [1]+[reduce(lambda a,b:a*b,range(1,i+1)) for i in range(1,11)] N = int(raw_input()) K = int(raw_input()) d1 = [0]*61 d2 = [0]*61 for dices in it.combinations_with_replacement(range(1,7),N): d1[sum(dices)] += fact[N]/denomi(dices) for dices1 in it.combinations_with_replacement(range(1,7),N-K): for dices2 in it.combinations_with_replacement([4,5,6],K): d2[sum(dices1)+sum(dices2)] += fact[N-K]/denomi(dices1) + fact[K]/denomi(dices2) sum1 = sum(d1) sum2 = sum(d2) ans = 0.0 for i in range(61): ans += 1.0*d2[i]/sum2*sum(d1[:i])/sum1 print ans