题目链接:
https://leetcode-cn.com/contest/weekly-contest-121/problems/string-without-aaa-or-bbb/
AC代码:
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;
int main(){
int A,B;
string ans="";
scanf("%d%d",&A,&B);
while(A>0||B>0){
bool writeA=false;
int L=ans.size();
//设当前还需要写入字符的'a'与'b'中较多的那一个为x
//如果我们已经连续写了两个x了,下一次我们就应该写另一个字母了 即 if部分
//否则我们还应该继续写x 即 else部分
if(L>=2&&ans[L-1]==ans[L-2]){
if(ans[L-1]=='b')
writeA=true;
}
else{
if(A>=B)
writeA=true;
}
if(writeA){
A--;
ans+='a';
}
else{
B--;
ans+='b';
}
}
cout<<ans<<endl;
}