結果
問題 |
No.662 スロットマシーン
|
ユーザー |
![]() |
提出日時 | 2023-01-16 22:29:57 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 122 ms / 2,000 ms |
コード長 | 1,202 bytes |
コンパイル時間 | 362 ms |
コンパイル使用メモリ | 82,472 KB |
実行使用メモリ | 78,108 KB |
最終ジャッジ日時 | 2024-12-31 13:05:28 |
合計ジャッジ時間 | 3,341 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 19 |
ソースコード
def calc(a, b): LA = [] while a or len(LA) < 3: LA.append(a%5) a //= 5 LB = [] while b or len(LB) < 3: LB.append(b%5) b //= 5 lst = [] for i in range(3): if LA[i] == LB[i]: lst.append(LA[i]) if LA[0] == LB[1]: lst.append(LB[1]) if LA[2] == LB[1]: lst.append(LB[1]) return lst D = dict() coin = [] for i in range(5): s, c = input().split() coin.append(int(c)) D[s] = i reelA, reelB = [0] * 125, [0] * 125 n1 = int(input()) A = [] for i in range(n1): A.append(D[input()]) n2 = int(input()) B = [] for i in range(n2): B.append(D[input()]) for i in range(2): A.append(A[i]) B.append(B[i]) for i in range(n1): reelA[A[i] * 25 + A[i + 1]*5 + A[i + 2]] += 1 for i in range(n2): reelB[B[i] * 25 + B[i + 1]*5 + B[i + 2]] += 1 n3 = int(input()) CC = [0] * 5 for i in range(n3): CC[D[input()]] += 1 ans = [0] * 5 for i in range(125): for j in range(125): for a in calc(i, j): ans[a] += reelA[i] * reelB[j] * CC[a] val = 0 for i in range(5): val += ans[i] * coin[i] val /= n1 * n2 * n3 print(val) for a in ans: print(a)