A. 数字反转(flip)

    传统题 文件IO:flip 1000ms 256MiB

数字反转(flip)

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

读写要求

本题采用文件读写,请在提交代码时使用正确的文件读写方式,否则会导致 RE

输入:flip.in

输出:flip.out

题目描述

给定两个由 0011 组成的长度为 NN 的字符串 SSTT。你可以对 SS 进行任意次以下操作:

  • 选择一个满足 Si=1S_i= 1ii2iN2 \leq i \leq N)。将 SiS_i 替换为 00。同时,将 Si1S_{i-1} 改为与当前不同的字符。也就是说,如果操作前 Si1S_{i-1}00,则改为 11;如果是 11,则改为 00

你能否通过若干次操作使 SS 变为 TT?如果可以,输出所需的最小操作次数;如果不可以,输出 1-1

输入格式

输入的第一行包含一个整数 NN

第二行包含一个长度为 NN 的字符串 SS

第三行包含一个长度为 NN 的字符串 TT

输出格式

如果可以将 SS 变为 TT,输出所需的最小操作次数。

如果不可以,输出 1-1

输入输出样例

3
001
100
2
3
001
110
-1
5
10111
01010
5

说明/提示

【样例1说明】

001 \to(在 i=3i=3 处操作)\to 010 \to(在 i=2i=2 处操作)\to 100,即可完成转换。

【数据规模与约定】

  • 1N5×1051 \leq N \leq 5 \times 10^5
  • SS 是由 01 组成的长度为 NN 的字符串;
  • TT 是由 01 组成的长度为 NN 的字符串。

周赛#1027(div2)复现赛

未参加
状态
已结束
规则
IOI
题目
5
开始于
2026-5-23 21:00
结束于
2026-5-30 13:00
持续时间
1.5 小时
主持人
参赛人数
8