题目:
Minimum palindrome
原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=4731
分析:找规律。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<cmath> 5 #include<algorithm> 6 using namespace std; 7 int n,m; 8 9 int main() 10 { 11 int T,cas=1; 12 cin>>T; 13 while(T--) 14 { 15 scanf("%d%d",&m,&n); 16 printf("Case #%d: ",cas++); 17 if(m==2) 18 { 19 switch(n) 20 { 21 case 1:puts("a");break; 22 case 2:puts("ab");break; 23 case 3:puts("aab");break; 24 case 4:puts("aabb");break; 25 case 5:puts("aaaba");break; 26 case 6:puts("aaabab");break; 27 case 7:puts("aaababb");break; 28 case 8:puts("aaababbb");break; 29 default: 30 { 31 printf("aaaababb"); 32 int l=n-8; 33 while(l>=6) 34 { 35 printf("aababb"); 36 l-=6; 37 } 38 switch(l) 39 { 40 case 0:puts("");break; 41 case 1:puts("a");break; 42 case 2:puts("aa");break; 43 case 3:puts("aaa");break; 44 case 4:puts("aaaa");break; 45 case 5:puts("aabab");break; 46 } 47 } 48 } 49 } 50 else 51 { 52 if(m>3)m=3; 53 for(int i=0;i<n;i++) 54 printf("%c",'a'+(i%m)); 55 puts(""); 56 } 57 } 58 return 0; 59 }