专栏文章

题解:P12341 [蓝桥杯 2025 省 A/Python B 第二场] 消消乐

P12341题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miphsnlx
此快照首次捕获于
2025/12/03 12:13
3 个月前
此快照最后确认于
2025/12/03 12:13
3 个月前
查看原文

[蓝桥杯 2025 省 A/Python B 第二场] 消消乐 题解

思路

这道题可以通过贪心算法来解决。从左到右遍历字符串,找到第一个 A 和最后一个 B ,将它们消掉,然后继续寻找下一个 A 和 B ,直到无法继续消掉为止。最后剩下的字符数量就是答案。

c++代码

CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
    string s;
    cin>>s;
    int n=s.size();
    int ans=n;
    int i=0,j=n-1;
    while(i<j){
        while(i<n&&s[i]!='A'){
            i++;
        }
        while(j>=0&&s[j]!='B'){
            j--;
        }
        if(i<j&&s[i]=='A'&&s[j]=='B'){
            ans-=2;
        }
        i++;
        j--;
    }
    cout<<ans;
    return 0;
}    

评论

0 条评论,欢迎与作者交流。

正在加载评论...