2025年蓝桥杯青少省赛-t3
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
字符串交换问题
问题描述
给定一个仅由字符 'A' 和 'B' 组成的字符串 S。每次操作可以交换两个相邻的字符。要求通过最少的交换次数,使得字符串满足以下条件:
- 奇数位置(位置编号从 1 开始)上的 'A' 的数量 等于 偶数位置上的 'A' 的数量。
如果无法通过交换满足条件,则返回 -1。
示例
- 输入:S = "AABABA"
- 原始状态分析:
- 奇数位置(1, 3, 5)的 'A' 数量:1(仅位置 1 是 'A')
- 偶数位置(2, 4, 6)的 'A' 数量:3(位置 2, 4, 6 都是 'A')
- 操作:交换位置 2 和 3 的字符('A' 和 'B'),得到 "ABAABA"
- 操作后状态:
- 奇数位置 'A' 数量:2(位置 1, 5)
- 偶数位置 'A' 数量:2(位置 2, 6)
- 输出:1(最少交换次数)
输入要求
- 输入一个字符串 S(),仅包含 'A' 和 'B'。
输出要求
- 输出最少交换次数;若无法满足条件,输出 -1。
AABABA
1