NC227319. 又一构造子序列
描述
输入描述
输入的第一行是一个整数,表示样例组数。
接下来的行,每行一个整数,含义如题面所述。
输出描述
对于每一组样例,若答案不存在,输出。
若答案存在:
请先输出一行一个整数,表示你打算输入的字符串的长度。
接下来的一行输出你所要输入的字符串,字符串长度为,字符串应全部由小写字母所组成。
本题的答案可能不唯一,输出任意一个即可。
示例1
输入:
4 1 2 3 4
输出:
5 yycnb 4 yycc 5 yyccc 6 yycccc
C++ 解法, 执行用时: 22ms, 内存消耗: 1196K, 提交时间: 2021-09-19 18:28:57
#include<bits/stdc++.h> using namespace std; //yyy....c存在规律 int main() { int t; cin>>t; while(t--){ int n,i; cin>>n; for(i=1;;i++) if(i*(i-1)>2*n) break; i--; int j=n-i*(i-1)/2; cout<<i+1+j<<endl; cout<<"yy"; for(int p=1;p<=j;p++) cout<<"c"; for(int p=1;p<=i-2;p++) cout<<"y"; cout<<"c"<<endl; } return 0; }