AT_ttpc2019_k.サーキュレーション
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定两个长度为 N 的二进制字符串 S 和 T,它们只包含字符 0 和 1。
考虑以下操作:
- 选择一个整数 x(1≤x≤N),将字符串 S 拆成两部分:S1…Sx 和 Sx+1…SN,对这两部分分别进行循环右移后再拼接。
具体而言,字符串 U=U1…UM 的循环右移是将其从 U1…UM−1UM 变为 UMU1…UM−1。特别地,当 x=N 时,将整个字符串 S 循环右移。例如,字符串 S=01001,选择 x=3 进行操作时,先将其分为 010 和 01,分别右移后变为 001 和 10,最终结果为 00110。
你的任务是判断是否能通过若干次操作,将字符串 S 转换为字符串 T。如果不能,请输出 MuriyarokonnNaN;如果可以,请输出所需的最少操作次数。
输入格式
输入为一行,包括三个部分:N、字符串 S 和字符串 T:
N S T
输出格式
判断能否通过操作将字符串 S 转换为 T。如果可以输出最少操作次数;如果不行,则输出 MuriyarokonnNaN。
输入输出样例
输入#1
6 010101 010110
输出#1
3
输入#2
18 111101101001101001 111101101001101001
输出#2
0
输入#3
18 011110100101000100 000110010011100110
输出#3
8
说明/提示
- N 是一个满足 1≤N≤105 的正整数。
- 字符串 S 和 T 仅包含字符
0和1。 - S 和 T 的长度都为 N。
- S 中
0的数量与 T 中0的数量相等。 - S 中
1的数量与 T 中1的数量相等。
示例详细说明
-
在样例 1 中,通过以下操作可以将字符串 S 变为 T:
- 第一次,选择 x=1。
- 第二次,选择 x=5。
- 第三次,选择 x=6。
这样,字符串 S 将依次变为 010101→011010→101100→010110。
-
在样例 2 中,S 已与 T 一致,无需进行任何操作。
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?