AT_ttpc2019_k.サーキュレーション

通过率:0%

AC君温馨提醒

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

题目描述

给定两个长度为 NN 的二进制字符串 SS 和 TT,它们只包含字符 0 和 1。

考虑以下操作:

  • 选择一个整数 xx(1≤x≤N1 \leq x \leq N),将字符串 SS 拆成两部分:S1…SxS_1 \ldots S_x 和 Sx+1…SNS_{x+1} \ldots S_N,对这两部分分别进行循环右移后再拼接。

具体而言,字符串 U=U1…UMU = U_1 \ldots U_M 的循环右移是将其从 U1…UM−1UMU_1 \ldots U_{M-1}U_M 变为 UMU1…UM−1U_MU_1 \ldots U_{M-1}。特别地,当 x=Nx = N 时,将整个字符串 SS 循环右移。例如,字符串 S=01001S = 01001,选择 x=3x = 3 进行操作时,先将其分为 010010 和 0101,分别右移后变为 001001 和 1010,最终结果为 0011000110。

你的任务是判断是否能通过若干次操作,将字符串 SS 转换为字符串 TT。如果不能,请输出 MuriyarokonnNaN;如果可以,请输出所需的最少操作次数。

输入格式

输入为一行,包括三个部分:NN、字符串 SS 和字符串 TT:

NN SS TT

输出格式

判断能否通过操作将字符串 SS 转换为 TT。如果可以输出最少操作次数;如果不行,则输出 MuriyarokonnNaN。

输入输出样例

  • 输入#1

    6
    010101
    010110

    输出#1

    3
  • 输入#2

    18
    111101101001101001
    111101101001101001

    输出#2

    0
  • 输入#3

    18
    011110100101000100
    000110010011100110

    输出#3

    8

说明/提示

  • NN 是一个满足 1≤N≤1051 \leq N \leq 10^5 的正整数。
  • 字符串 SS 和 TT 仅包含字符 0 和 1。
  • SS 和 TT 的长度都为 NN。
  • SS 中 0 的数量与 TT 中 0 的数量相等。
  • SS 中 1 的数量与 TT 中 1 的数量相等。

示例详细说明

  • 在样例 1 中,通过以下操作可以将字符串 SS 变为 TT:

    • 第一次,选择 x=1x = 1。
    • 第二次,选择 x=5x = 5。
    • 第三次,选择 x=6x = 6。

    这样,字符串 SS 将依次变为 010101→011010→101100→010110010101 \to 011010 \to 101100 \to 010110。

  • 在样例 2 中,SS 已与 TT 一致,无需进行任何操作。

本翻译由 AI 自动生成

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

首页