#4818. Duplicate

0
    ID: 4818 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 4 上传者: 标签>AtCoderabc313EGESP 5级模拟枚举(单层循环)分支结构

Duplicate

Duplicate

题目描述

对于由数字 11 到 99 组成的字符串 SS,令 f(S)f(S) 为按照下述过程得到的字符串 TT.(SiS_i 表示 SS 的第 ii 个字符。)

令 TT 为初始为空的字符串。 对于 i=1,2,…,∣S∣−1i=1,2,\dots,|S|-1,执行以下操作: 将 nn 个 SiS_i 的副本追加到 TT 的末尾,其中 nn 是将 Si+1S_{i+1} 作为整数解释时的值。

例如,S=S= 313313 通过以下步骤得到 f(S)=f(S)= 31113111。

TT 初始为空。 对于 i=1i=1,我们有 n=1n=1。将一个 33 的副本追加到 TT,此时 TT 变为 33。 对于 i=2i=2,我们有 n=3n=3。将三个 11 的副本追加到 TT,此时 TT 变为 31113111。 终止该过程。我们得到 T=T= 31113111。

给定一个长度为 NN 的字符串 SS,由数字 11 到 99 组成。
你重复以下操作直到 SS 的长度变为 11:用 f(S)f(S) 替换 SS.
求你在完成该过程前执行该操作的次数,对 998244353998244353 取模。如果你将无限重复该操作,则输出 −1-1。

输入格式

输入从标准输入按以下格式给出: NN SS

输出格式

输出在完成该过程前你执行该操作的次数对 998244353998244353 取模。如果你将无限重复该操作,则输出 −1-1。

3
313
4
9
123456789
-1
2
11
1

提示

2≤N≤1062 \leq N \leq 10^6 SS 是一个长度为 NN 的由 1,2,3,4,5,6,7,8,91,2,3,4,5,6,7,8,9 组成的字符串。如果 S=S= 313313,则在四次操作后 SS 的长度变为 11。

我们有 f(S)=f(S)= 31113111。用 31113111 替换 SS。 我们有 f(S)=f(S)= 311311。用 311311 替换 SS。 我们有 f(S)=f(S)= 3131。用 3131 替换 SS。 我们有 f(S)=f(S)= 33。用 33 替换 SS。 现在 SS 的长度为 11,终止重复。
如果 S=S= 123456789123456789,你将无限重复该操作。在这种情况下,应输出 −1-1.

标签: AtCoder|abc313E

来源

AtCoder|abc313E