admin 管理员组文章数量: 887006
病毒变种 PTA(JAVA)
zis病毒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
思路:如abc
将a的首字母放到末尾变成bca,这是一种可能的序列再把b放到末尾变成cab这也是种可能,再加上原本的序列一共三种,思路就是这样,不管序列是abcd还abbc都是这样的思路把首字母放到末尾输出。
import java.util.*; public class Main{ public static void main(String[] args) {Scanner sc=new Scanner(System.in);int n=sc.nextInt();String s2=sc.nextLine();//吞换行符号char a[]=new char[509];//字符数不超过500for(int i=0;i<n;i++){ String s=sc.nextLine();int len=s.length();//字符长度stoarrays(s,a,len);//字符装入数组System.out.print(s+" ");//输出原字符prints(a,len);//输出函数System.out.println();} }public static void prints(char a[],int len ){ //abc->bca->cab//以上是所有可能,输出想表示就是这个意思int j=1;for(int i=1;i<len;i++) {a[len]=a[0];//第一个字符放到最后for( j=1;j<=len;j++){a[j-1]=a[j];//依次将字符往前移动}a[j-1]=' ';//最后一个变成空格String s=new String(a).trim();//将a变成串,并除去末尾空格System.out.print(s+" ");}}public static void stoarrays(String s,char a[],int len){for(int i=0;i<len;i++){a[i]=s.charAt(i);}}}
本文标签: 病毒变种 PTA(JAVA)
版权声明:本文标题:病毒变种 PTA(JAVA) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732360504h1535079.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论