Codeforces Global Round 28 |
---|
Закончено |
Кевин исследует задачи, связанные с бинарными строками в Чайнатауне. Когда он был в замешательстве, к нему подошел незнакомец и предложил странную операцию:
Например, пусть текущая бинарная строка — это 01001, и вы выбрали $$$ p = 4 $$$. Выполните $$$ t_i = \max(t_i, t_{i+1}) $$$ для $$$t_1$$$, $$$t_2$$$ и $$$ t_3 $$$, преобразовав строку в 11001, затем удалите $$$ t_4 $$$, в результате получится 1101.
Кевин находит эту странную операцию довольно интересной. Таким образом, он хочет спросить вас: начиная с бинарной строки $$$ s $$$, сколько различных непустых бинарных строк вы можете получить за произвольное количество операций (возможно, ноль)?
Поскольку ответ может быть очень большим, вам нужно вывести результат по модулю $$$998\,244\,353$$$.
Каждый тест содержит несколько наборов входных данных. Первая строка содержит одно целое число $$$t$$$ ($$$1\le t \le 10^4$$$) — количество наборов входных данных.
Для каждого набора входных данных единственная строка содержит бинарную строку $$$ s $$$ ($$$ 1 \le \lvert s \rvert \le 10^6 $$$).
Гарантируется, что сумма $$$\lvert s \rvert$$$ по всем наборам входных данных не превышает $$$10^6$$$.
Для каждого набора входных данных выведите одно целое число в отдельной строке — количество различных непустых бинарных строк, которые вы можете получить, по модулю $$$998\,244\,353$$$.
211001000110111001100
9 73
В первом наборе все бинарные строки, которые вы можете получить, следующие: 11001, 1001, 1101, 001, 101, 111, 01, 11 и 1. Всего $$$ 9 $$$ строк.
Название |
---|