CodeForces 805B 3-palindrome

构造。

$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;
}

 

posted @ 2017-05-12 12:15  Fighting_Heart  阅读(156)  评论(0编辑  收藏  举报