提交时间:2025-06-08 13:43:40

运行 ID: 37966

#include <bits/stdc++.h> #define int long long using namespace std; const int mod = 998244353; string s; int n,m; int a[202]; int a1,a2,a3; signed main () { cin >> s; n = s.size(); for (int i = 0;i < n;i++) { if (s[i] == '?') { m++; a[i] = m; } } for (int i = 0;i < (1ll << m);i++) { string st = s; for (int j = 0;j < n;j++) { if (s[j] == '?') { if ((1ll << (a[j] - 1)) & i) { st[j] = 'a'; } else { st[j] = 'b'; } } } st = st + st + st; int A = 0,B = 0,j = 1; while (j < st.size()) { if (st[j - 1] == st[j]) { if (st[j] == 'a') { A++; } else { B++; } j += 2; continue; } if (st[j + 1] == 'a') { A++; } else { B++; } j += 3; } if (A - B < -1) { a1++; } else if (A - B > 1) { a2++; } else { a3++; } } cout << a2 % mod << endl; cout << a3 % mod << endl; cout << a1 % mod << endl; return 0; }