UVa 1584 - Circular Sequence
给你一个环序列剪一刀,问你按字典数最小的那个是怎样剪的。
显然循环一下就够了
1 #include <cstdio> 2 #include <iostream> 3 #include <cstring> 4 using namespace std; 5 int t,m,len; 6 char s[105],ans[105],tmp; 7 void fuc(){ 8 m=len-1; 9 while(m--){ 10 tmp=s[0]; 11 for(int i=0;i<len-1;i++){ 12 s[i]=s[i+1]; 13 } 14 s[len-1]=tmp; 15 if(strcmp(ans,s)>0) strcpy(ans,s); 16 } 17 } 18 int main(){ 19 scanf("%d",&t); 20 while(t--){ 21 scanf("%s",s); 22 len=strlen(s); 23 strcpy(ans,s); 24 fuc(); 25 printf("%s\n",ans); 26 } 27 }
我自倾杯,君且随意