题意
构造长度为n的字符串,保证每个子串出现的次数都是奇数次
解析
对于长度为k的字符串
a
a
a
a
a
.
.
.
aaaaa...
aaaaa...,其子串的出现次数分别是奇数次和偶数次,根据奇数+偶数=奇数,我们可以将其错开一位。
对于n的字符串,我们构造
n
2
\frac{n}{2}
2n个
a
a
a和
n
2
−
1
\frac{n}{2}-1
2n−1个
a
a
a中间多出来的一个或者两个就随便拼凑即可。
代码
#include<bits/stdc++.h>
using namespace std;
void solve(){
int n;
cin>>n;
int k=n/2;
int f=n-k*2;
for(int i=1;i<=k;i++){
cout<<"a";
}
cout<<"b";
if(k&&f)cout<<"c";
for(int i=1;i<k;i++){
cout<<"a";
}
cout<<endl;
}
int main(){
int t;
cin>>t;
while(t--){
solve();
}
}