病毒DNA可以表示成由一些字母组成的字符串序列,且病毒的DNA序列是环状的。例如,假设病毒的DNA序列为baa,则该病毒的DNA序列有三种变种:baa,aab,aba。试编写一程序,对给定的病毒DNA序列,输出该病毒所有可能的DNA序列(假设变种不会重复)。
输入格式:
输入第一行中给出1个整数i(1≤i≤11),表示待检测的病毒DNA。 输入i行串序列,每行一个字符串,代表病毒的DNA序列,病毒的DNA序列长度不超过500。
输出格式:
依次逐行输出每个病毒DNA所有变种,各变种之间用空格分隔。
输入样例1:
1
baa
输出样例1:
baa aab aba
输入样例2:
2
abc
baac
输出样例2:
abc bca cab
baac aacb acba cbaa
#include<bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
while(n--){
char s[509];
cin>>s;
int ls=strlen(s),j;
cout<<s<<" ";
for(int i=2;i<=ls;i++){
s[ls]=s[0];
for(j=1;j<=ls;j++){
s[j-1]=s[j];
}
s[j-1]='\0';
cout<<s<<" ";
}
cout<<endl;
}
return 0;
}