标签:int 方法 ring use fine stdio.h cga can into
描述:
长度为n的环状串有n种表示方法,分别为从某个位置开始顺时针得到,在这些排列中字典顺序最小的称“最小表示”。
如CTCC的最小表示为CCCT,CGAGTCAGCT的最小表示为AGCTCGAGTC。
代码:
1 #include<stdio.h> 2 #include<string.h> 3 #define maxn 110 4 5 6 char a[maxn]; //the array entered by users. 7 char b[maxn]; //the array used to save the temp array. 8 9 //chang ABCD into BCDA 10 void sort_array(char temp[], int length) 11 { 12 char fir = temp[0]; 13 for (int i = 1; i<length; i++) 14 { 15 temp[i-1] = temp[i]; 16 } 17 temp[i-1] = fir; 18 } 19 20 int main() 21 { 22 scanf("%s",a); 23 strcpy(b,a); 24 int length = strlen(a); 25 for (int i = 0; i<length; i++) 26 { 27 sort_array(b, length); 28 if(strcmp(b,a) == -1) strcpy(a,b); 29 } 30 printf("%s\n",a); 31 return 0; 32 }
思路:
注意点:
补充:
标签:int 方法 ring use fine stdio.h cga can into
原文地址:https://www.cnblogs.com/dreamworldclark/p/9401503.html