1. 问题描述:
给定一个整数 n,请你构造一个长度为 n 的字符串,要求:
字符串中不含 a,b,c 以外的字符。
字符串中不含长度为 3 的回文子串。
字符串中 c 的数量尽可能少(最好没有)。
输入格式
一个整数 n。
输出格式
一个满足条件的字符串。
如果答案不唯一,则输出任意合理方案均可。
数据范围
1 ≤ n ≤ 2 × 10 ^ 5。
输入样例1:
2
输出样例1:
aa
输入样例2:
3
输出样例2:
bba
来源:https://www.acwing.com/problem/content/3797/
2. 思路分析:
分析题目可以知道比较简单的构造方式是每两个字符为"aa",每两个字符为"bb"这样构造最终就可以得到符合要求的字符串,可以发现一个规律是当i % 4 < 2的时候说明当前位置的字符为"a",否则为"b",这样构造的字符串一定是满足要求的。
3. 代码如下:
class Solution:
def process(self):
n = int(input())
for i in range(n):
if i % 4 < 2: print("a", end="")
else: print("b", end="")
if __name__ == '__main__':
Solution().process()