构造。
$bbaabbaabbaa......$输出前$n$个即可,这样不需要用到$c$,而且任意相邻三个都不会是回文。
#include <cstdio>
#include <cmath>
#include <set>
#include <cstring>
#include <algorithm>
using namespace std;
int n;
int a[500010];
void init()
{
int pre = 0;
int sum=0;
for(int i=1;i<=500000;i++)
{
a[i] = pre;
sum++;
if(sum%2==0) pre=pre^1;
}
}
int main()
{
scanf("%d",&n);
init();
for(int i=1;i<=n;i++)
{
if(a[i]==0)
printf("%c",'b');
else printf("%c",'a');
}
printf("\n");
return 0;
}