1216A Prefixes

好久都没做题了,昨天刚好有一场时间不晚的就来练习一下。

题意:给一个长度为n的字符串,让偶数长度的字符串a,b个数相等,也就是每连续两个字符a,b个数各占一个。现在给的这串字符,让你变成符合这种规律的字符串,你可以任意更改字符,把a换成b或者b换成a,输出最小换的次数,然后输出换后的字符串。

题解:很明确了,从头每两个字符的遍历,判断a=b是是否相等,相等就不符合要求,换的次数+1,其中一个字符更换成另外一个字符。

c++:

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,ans=0;
    string s;
    cin>>n>>s;
    for(int i=0; i<n; i+=2)
    {
        if(s[i]==s[i+1])
        {
            ans++;
            if(s[i]=='a') s[i]+=1;
            else s[i]-=1;
        }
    }
    cout<<ans<<endl<<s<<endl;
    return 0;
}
发布了395 篇原创文章 · 获赞 126 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/memory_qianxiao/article/details/101145440