CF1784E.Infinite Game

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

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:02:0 or 2:12:1 in favor of one of the players.

Let's call a game scenario a finite string ss consisting of characters 'a' and 'b'. Consider an infinite string formed with repetitions of string ss : ssssss \ldots Suppose that Alice and Bob play rounds according to this infinite string, left to right. If a character of the string ssssss \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 aia_i as the number of sets won by Alice among the first ii sets while playing according to the given scenario. Let's also define rr as the limit of ratio aii\frac{a_i}{i} as ii \rightarrow \infty . If r>12r > \frac{1}{2} , we'll say that scenario ss is winning for Alice. If r=12r = \frac{1}{2} , we'll say that scenario ss is tied. If r<12r < \frac{1}{2} , we'll say that scenario ss is winning for Bob.

You are given a string ss 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 998244353998\,244\,353 .

输入格式

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

输出格式

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 998244353998\,244\,353 .

输入输出样例

  • 输入#1

    ??

    输出#1

    1
    2
    1
  • 输入#2

    ?aa?b

    输出#2

    1
    3
    0
  • 输入#3

    a???ba

    输出#3

    4
    3
    1
  • 输入#4

    ????????

    输出#4

    121
    14
    121
  • 输入#5

    ba????a?a???abbb?

    输出#5

    216
    57
    239
  • 输入#6

    a????a??????b??abbababbbb?a?aaa????bb

    输出#6

    97833
    28387
    135924
  • 输入#7

    ??????????????a????????????????b?????

    输出#7

    484121060
    448940322
    484613337

说明/提示

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

  • s=aas = \mathtt{aa} : Alice wins every set 2:02:0 — the scenario is winning for Alice;
  • s=abs = \mathtt{ab} : Alice and Bob win sets in turns, with the score of 2:12:1 each — the scenario is tied;
  • s=bas = \mathtt{ba} : Bob and Alice win sets in turns, with the score of 2:12:1 each — the scenario is tied;
  • s=bbs = \mathtt{bb} : Bob wins every set 2:02:0 — the scenario is winning for Bob.
首页