結果
問題 |
No.1927 AB-CD
|
ユーザー |
|
提出日時 | 2022-05-06 22:31:12 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
WA
|
実行時間 | - |
コード長 | 828 bytes |
コンパイル時間 | 264 ms |
コンパイル使用メモリ | 12,800 KB |
実行使用メモリ | 11,648 KB |
最終ジャッジ日時 | 2024-07-05 23:50:21 |
合計ジャッジ時間 | 7,236 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 WA * 2 |
other | AC * 3 WA * 24 |
ソースコード
n = int(input()) s = input() mod = 998244353 a = [0] * 4 for i in s: if i == 'A': a[0] += 1 if i == 'B': a[1] += 1 if i == 'C': a[2] += 1 if i == 'D': a[3] += 1 up = 1 for i in range(1, sum(a) + 1): up *= i up %= mod b = [1] * 4 for i in range(4): for j in range(1, a[i] + 1): b[i] *= j b[i] %= mod ans = up * pow(b[0], -1, mod) ans %= mod ans *= pow(b[1], -1, mod) ans %= mod ans *= pow(b[2], -1, mod) ans %= mod ans *= pow(b[3], -1, mod) ans %= mod x = 1 for i in range(1, a[0] + a[1] + 1): x *= i x %= mod x *= pow(b[0], -1, mod) x %= mod x *= pow(b[1], -1, mod) x %= mod y = 1 for i in range(1, a[2] + a[3] + 1): y *= i y %= mod y *= pow(b[2], -1, mod) y %= mod y *= pow(b[3], -1, mod) y %= mod print((ans - x * y + 1) % mod)