VK Cup 2022 - Финальный раунд (Engine)
E
Infinite Game
Codeforces
3100
原题
← DF →
翻译中…

Alice and Bob are playing an infinite game consisting of sets. Each set consists of rounds. In each round, one of the players wins. The first player to win two rounds in a set wins this set. Thus, a set always ends with the score of $2:0$ or $2:1$ in favor of one of the players.

翻译中…

Let's call a game scenario a finite string $s$ consisting of characters 'a' and 'b'. Consider an infinite string formed with repetitions of string $s$: $sss \ldots$ Suppose that Alice and Bob play rounds according to this infinite string, left to right. If a character of the string $sss \ldots$ is 'a', then Alice wins the round; if it's 'b', Bob wins the round. As soon as one of the players wins two rounds, the set ends in their favor, and a new set starts from the next round.

翻译中…

Let's define $a_i$ as the number of sets won by Alice among the first $i$ sets while playing according to the given scenario. Let's also define $r$ as the limit of ratio $\frac{a_i}{i}$ as $i \rightarrow \infty$. If $r \gt \frac{1}{2}$, we'll say that scenario $s$ is winning for Alice. If $r = \frac{1}{2}$, we'll say that scenario $s$ is tied. If $r \lt \frac{1}{2}$, we'll say that scenario $s$ is winning for Bob.

翻译中…

You are given a string $s$ consisting of characters 'a', 'b', and '?'. Consider all possible ways of replacing every '?' with 'a' or 'b' to obtain a string consisting only of characters 'a' and 'b'. Count how many of them result in a scenario winning for Alice, how many result in a tied scenario, and how many result in a scenario winning for Bob. Print these three numbers modulo $998\,244\,353$.

翻译中…

Input

翻译中…

The only line contains a single string $s$ ($1 \le |s| \le 200$), consisting of characters 'a', 'b', and '?'.

翻译中…

Output

翻译中…

Print three integers: how many ways result in a scenario winning for Alice, how many result in a tied scenario, and how many result in a scenario winning for Bob, modulo $998\,244\,353$.

翻译中…

Note

翻译中…

In the first example, there are four ways to replace the question marks:

翻译中…
  • $s = \mathtt{aa}$: Alice wins every set $2:0$ — the scenario is winning for Alice;
  • $s = \mathtt{ab}$: Alice and Bob win sets in turns, with the score of $2:1$ each — the scenario is tied;
  • $s = \mathtt{ba}$: Bob and Alice win sets in turns, with the score of $2:1$ each — the scenario is tied;
  • $s = \mathtt{bb}$: Bob wins every set $2:0$ — the scenario is winning for Bob.
翻译中…

样例

Input #1
??
Output #1
1
2
1
InputCopy OutputCopy
Input #2
?aa?b
Output #2
1
3
0
InputCopy OutputCopy
Input #3
a???ba
Output #3
4
3
1
InputCopy OutputCopy
Input #4
????????
Output #4
121
14
121
InputCopy OutputCopy
Input #5
ba????a?a???abbb?
Output #5
216
57
239
InputCopy OutputCopy
Input #6
a????a??????b??abbababbbb?a?aaa????bb
Output #6
97833
28387
135924
InputCopy OutputCopy
Input #7
??????????????a????????????????b?????
Output #7
484121060
448940322
484613337
InputCopy OutputCopy
题目信息
题号
1784E
时间限制
5 s
内存限制
512 MB
标签
暴力
组合数学
动态规划
博弈论
概率论

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。