結果

問題 No.1927 AB-CD
コンテスト
ユーザー iastm
提出日時 2026-01-30 08:22:03
言語 C++23
(gcc 15.2.0 + boost 1.89.0)
結果
AC  
実行時間 10 ms / 2,000 ms
コード長 563 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,707 ms
コンパイル使用メモリ 169,748 KB
実行使用メモリ 7,972 KB
最終ジャッジ日時 2026-01-30 08:22:07
合計ジャッジ時間 3,651 ms
ジャッジサーバーID
(参考情報)
judge5 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 27
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <iostream>
#include <vector>
#include <atcoder/modint>

using mint = atcoder::modint998244353;

int main() {
    int N;
    std::string S;
    std::cin >> N >> S;
    int M = 0;
    for (char c : S) M += c == 'A' || c == 'B';

    std::vector<mint> fact(N + 1, 1);
    for (int i = 2; i <= N; i++) fact[i] = fact[i - 1] * i;
    std::vector<mint> ifact(N + 1, 1);
    ifact[N] = fact[N].inv();
    for (int i = N; i > 2; i--) ifact[i - 1] = ifact[i] * i;
    mint result = fact[N] * ifact[M] * ifact[N - M];
    std::cout << result.val() << std::endl;
}
0