构造字符串
构造字符串
给定一个整数 n,请你构造一个长度为 n 的字符串,要求:
字符串中不含 a,b,c 以外的字符。
字符串中不含长度为 3 的回文子串。
字符串中 c 的数量尽可能少(最好没有)。
输入格式
一个整数 n。
输出格式
一个满足条件的字符串。
如果答案不唯一,则输出任意合理方案均可。
数据范围
1≤n≤2×105。
输入样例1:
2
输出样例1:
aa
输入样例2:
3
输出样例2:
bba
思路
字符串中不含长度为 3 的回文子串 -> "aabb"式
判断奇偶再构造最后一个字符即可
代码
点击查看代码
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
string s = "";
int m = n / 2;
for(int i = 1; i <= m ; i ++ ){
if(i & 1)s += "aa";
else s += "bb";
}
if(n & 1){
if(m & 1)s += 'b';
else s += 'a';
}
cout << s;
}