https://codeforces.com/contest/1554/problem/D
INPUT
4
3
5
9
19
OUTPUT
abc
diane
bbcaabbba
youarethecutestuwuu
题意:
给T,给T个数n,构造长度为n的字符串,且字符串中各个子串 个数 为 奇数
做法:
直接上答案就看得懂了吧 (当时瞎想没想到对了 )
- 当n为偶数
例如n == 6 :答案为aaabaa
例如n == 10 :答案为aaaaabaaaa - 当n为奇数
例如n == 5:答案为caaba
例如n == 11:答案为caaaaabaaaa
所以答案中两个被分隔的a串长度为 n/2 和 n/2 - 1,再用一个b分隔,如果是奇数再拿个c凑一下
正确性我没证,但直觉告诉我这样做,其实算一下发现可行
AC代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int T;
cin>>T;
while(T--)
{
int n;
cin>>n;
if(n == 1)
{
cout<<"a";
cout<<endl;
continue;
}
if(n% 2 == 0)
{
int a = n /2 ;
for(int i = 1;i<=a;i++) cout<<"a";
cout<<"b";
for(int i = 1;i<=a - 1;i++) cout<<"a";
cout<<endl;
}
else
{
int a = n / 2;
cout<<"b";
for(int i = 1;i<=a;i++) cout<<"a";
cout<<"c";
for(int i = 1;i<=a-1;i++) cout<<"a";
cout<<endl;
}
}
return 0;
}
因为不会B C题的位运算符,被迫开D题 ε=ε=ε=┏(゜ロ゜;)┛