結果
問題 |
No.1688 Veterinarian
|
ユーザー |
![]() |
提出日時 | 2025-06-03 19:48:19 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 737 ms / 3,000 ms |
コード長 | 655 bytes |
コンパイル時間 | 877 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 105,272 KB |
最終ジャッジ日時 | 2025-06-03 19:48:23 |
合計ジャッジ時間 | 4,295 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 14 |
ソースコード
from collections import defaultdict dic = defaultdict(float) A, B, C, N = map(int, input().split()) S = A + B + C dic[(A,B,C)] = 1 for i in range(N): dic2 = defaultdict(float) for X,p in dic.items(): n = sum(X) p0 = 1 for j in range(3): x = X[j] if x > 1: pa = x * (x - 1) / n / (n - 1) tmp = list(X) tmp[j] -= 1 dic2[tuple(tmp)] += p * pa p0 -= pa dic2[X] += p * p0 dic = dic2 X0 = [A,B,C] ans = [0] * 3 for X, p in dic.items(): for i in range(3): ans[i] += (X0[i] - X[i]) * p print(*ans)