AT_abc313_e.[ABC313E] Duplicate

提高+/省选-

通过率:0%

AC君温馨提醒

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

题目描述

给定一个只包含数字 11 到 99 的字符串 SS,定义 f(S)f(S) 为通过以下步骤得到的字符串 TT(SiS_i 表示 SS 的第 ii 个字符):

  • 有一个字符串 TT。初始时,TT 是空字符串。
  • 对于 i=1,2,…,∣S∣−1i=1,2,\dots,|S|-1,依次进行如下操作:
    • 将 Si+1S_{i+1} 作为整数,记为 nn。在 TT 的末尾添加 nn 个 SiS_i。

例如,当 S=313S=313 时,f(S)=3111f(S)=3111,操作过程如下:

  • 初始时 TT 为空字符串。
  • i=1i=1 时,n=1n=1,在 TT 末尾添加 11 个 3,TT 变为 3。
  • i=2i=2 时,n=3n=3,在 TT 末尾添加 33 个 1,TT 变为 3111。
  • 操作结束,得到 T=3111T=3111。

现在给定一个长度为 NN 的只包含 11 到 99 的字符串 SS。你需要不断执行“将 SS 替换为 f(S)f(S)”的操作,直到 SS 的长度变为 11 为止。

请输出在操作结束前所需操作的次数对 998244353998244353 取模的结果。如果操作会无限进行下去,请输出 −1-1。

输入格式

输入通过标准输入给出,格式如下:

NN SS

输出格式

输出操作结束前所需操作的次数对 998244353998244353 取模的结果。如果操作会无限进行下去,输出 −1-1。

输入输出样例

  • 输入#1

    3
    313

    输出#1

    4
  • 输入#2

    9
    123456789

    输出#2

    -1
  • 输入#3

    2
    11

    输出#3

    1

说明/提示

限制条件

  • 2≤N≤1062 \leq N \leq 10^6
  • SS 是由 11 到 99 组成的长度为 NN 的字符串

样例解释 1

当 S=313S=313 时,经过 44 次操作后,SS 的长度变为 11。

  • f(S)=3111f(S)=3111,将 SS 替换为 3111。
  • f(S)=311f(S)=311,将 SS 替换为 311。
  • f(S)=31f(S)=31,将 SS 替换为 31。
  • f(S)=3f(S)=3,将 SS 替换为 3。
  • 此时 SS 的长度为 11,操作结束。

样例解释 2

当 S=123456789S=123456789 时,操作会无限进行下去。这种情况下应输出 −1-1。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页