#R200F. [ABC200F] Minflip Summation
[ABC200F] Minflip Summation
配点 : 点
問題文
0, 1, ? のみからなる文字列 があります。この文字列を 個連結したものを とします。
この文字列の ? を全て 0 か 1 に置き換えた文字列は、 の中に含まれる ? の数を 個とすると、全部で 通り考えられますが、その全てについて以下の問題を解いて、その答えの和を で割った余りを求めてください。
?を置き換えた後の文字列を とします。 に以下の操作を繰り返し行うことで全ての文字を同じにするとき、必要な最小の操作回数は何回ですか?
- となる整数 を選ぶ。そして、 の 文字目から 文字目(両端含む)までの各文字を、
0であれば1に、1であれば0に変更する。
制約
入力
入力は以下の形式で標準入力から与えられる。
出力
答えを整数として出力せよ。
101
2
2
文字列 101101 で、ここには ? が含まれません。よって、考えられる唯一の 101101 についての答えを求めればよいです。
例えば、101101 110011 111111 と操作を行えば、 回で全ての文字列を同じにすることができます。
回以下の操作で全ての文字列を同じにすることはできません。
?0?
1
3
文字列 として考えられるものは 000, 001, 100, 101 の 通りです。
10111?10??1101??1?00?1?01??00010?0?1??
998244353
235562598
答えは非常に大きくなることがあるので、 で割った余りを求めてください。