AT_abc023_b.[ABC023B] 手芸王

普及-

通过率:0%

AC君温馨提醒

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

题目描述

高桥君的兴趣是制作饰品。

饰品可以通过将写有 a、b 或 c 的方块横向排列一行来制作。

高桥君按照以下步骤制作饰品:

  • 步骤 00:高桥君制作一个仅包含一个字符 b 的饰品。

之后的每一步,他会在已有饰品的两端各添加一个方块,对饰品进行改造。

  • 步骤 3n+1 (n≥0)3n+1\ (n\geq 0):在步骤 3n3n 完成的饰品左端添加写有 a 的方块,右端添加写有 c 的方块。
  • 步骤 3n+2 (n≥0)3n+2\ (n\geq 0):在步骤 3n+13n+1 完成的饰品左端添加写有 c 的方块,右端添加写有 a 的方块。
  • 步骤 3n (n≥1)3n\ (n\geq 1):在步骤 3n−13n-1 完成的饰品左端和右端各添加写有 b 的方块。

高桥君可以在任意一个步骤结束后停止制作饰品。停止后,饰品的名字就是从左到右依次读取饰品方块上字符得到的字符串。

例如,在步骤 00、11、22、33 结束时,饰品的名字依次为 b、abc、cabca、bcabcab。

现在给定一个字符串 SS,请判断该字符串是否可能作为某一步骤结束时饰品的名字。如果可以,输出在第几步结束时得到该名字;如果不可以,输出 −1-1。

输入格式

输入从标准输入中按以下格式给出。

NN SS

  • 第 11 行给出一个整数 NN,表示字符串 SS 的长度,1≤N≤1001\leq N\leq 100。
  • 第 22 行给出仅由小写英文字母组成的字符串 SS。

输出格式

如果存在某个整数 KK,使得在步骤 KK 结束时饰品的名字等于字符串 SS,则输出该整数 KK;如果无论在哪一步结束饰品的制作,饰品的名字都不等于 SS,则输出 −1-1。输出末尾需换行。

输入输出样例

  • 输入#1

    3
    abc

    输出#1

    1
  • 输入#2

    6
    abcabc

    输出#2

    -1
  • 输入#3

    7
    atcoder

    输出#3

    -1
  • 输入#4

    19
    bcabcabcabcabcabcab

    输出#4

    9

说明/提示

样例解释 1

  • 在步骤 11 结束时饰品的名字为 abc。

样例解释 2

  • 字符串 abcabc 不可能作为饰品的名字。

样例解释 3

  • 字符串 SS 可能包含除 a、b、c 以外的字符。

由 ChatGPT 4.1 翻译

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

首页