結果
問題 |
No.1927 AB-CD
|
ユーザー |
|
提出日時 | 2022-09-24 23:34:15 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 23 ms / 2,000 ms |
コード長 | 627 bytes |
コンパイル時間 | 2,059 ms |
コンパイル使用メモリ | 196,248 KB |
最終ジャッジ日時 | 2025-02-07 14:34:09 |
ジャッジサーバーID (参考情報) |
judge5 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 27 |
ソースコード
#include<bits/stdc++.h> using namespace std; const int mod=998244353; int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int N; string S; cin>>N>>S; int AB=0,CD=0; vector<long long>inv(N+1),fac(N+1),invf(N+1); fac[0]=inv[0]=invf[0]=1; fac[1]=inv[1]=invf[1]=1; for(int i=2;i<=N;i++){ fac[i]=fac[i-1]*i%mod; inv[i]=inv[mod%i]*(mod-mod/i)%mod; invf[i]=invf[i-1]*inv[i]%mod; } for(int i=0;i<=N;i++){ switch(S[i]){ case 'A':++AB;break; case 'B':++AB;break; case 'C':++CD;break; case 'D':++CD;break; } } cout<<fac[N]*invf[AB]%mod*invf[CD]%mod<<'\n'; }