AT_abc023_b.[ABC023B] 手芸王
普及-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君的兴趣是制作饰品。
饰品可以通过将写有 a、b 或 c 的方块横向排列一行来制作。
高桥君按照以下步骤制作饰品:
- 步骤 0:高桥君制作一个仅包含一个字符
b的饰品。
之后的每一步,他会在已有饰品的两端各添加一个方块,对饰品进行改造。
- 步骤 3n+1 (n≥0):在步骤 3n 完成的饰品左端添加写有
a的方块,右端添加写有c的方块。 - 步骤 3n+2 (n≥0):在步骤 3n+1 完成的饰品左端添加写有
c的方块,右端添加写有a的方块。 - 步骤 3n (n≥1):在步骤 3n−1 完成的饰品左端和右端各添加写有
b的方块。
高桥君可以在任意一个步骤结束后停止制作饰品。停止后,饰品的名字就是从左到右依次读取饰品方块上字符得到的字符串。
例如,在步骤 0、1、2、3 结束时,饰品的名字依次为 b、abc、cabca、bcabcab。
现在给定一个字符串 S,请判断该字符串是否可能作为某一步骤结束时饰品的名字。如果可以,输出在第几步结束时得到该名字;如果不可以,输出 −1。
输入格式
输入从标准输入中按以下格式给出。
N S
- 第 1 行给出一个整数 N,表示字符串 S 的长度,1≤N≤100。
- 第 2 行给出仅由小写英文字母组成的字符串 S。
输出格式
如果存在某个整数 K,使得在步骤 K 结束时饰品的名字等于字符串 S,则输出该整数 K;如果无论在哪一步结束饰品的制作,饰品的名字都不等于 S,则输出 −1。输出末尾需换行。
输入输出样例
输入#1
3 abc
输出#1
1
输入#2
6 abcabc
输出#2
-1
输入#3
7 atcoder
输出#3
-1
输入#4
19 bcabcabcabcabcabcab
输出#4
9
说明/提示
样例解释 1
- 在步骤 1 结束时饰品的名字为
abc。
样例解释 2
- 字符串
abcabc不可能作为饰品的名字。
样例解释 3
- 字符串 S 可能包含除
a、b、c以外的字符。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?