构造字符串
构造字符串
给定一个整数 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;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通