1 #include<stdio.h> 2 3 int n,l; 4 char s[100]; 5 6 int dfs(int cur) 7 { 8 int i,j,ok,equal,k; 9 if(cur==n) 10 { 11 for(i=0;i<n;i++) 12 printf("%c",'A'+s[i]); 13 printf("\n"); 14 return 0; 15 } 16 for(i=0;i<l;i++) 17 { 18 s[cur]=i; 19 ok=1; 20 for(j=1;j*2<=cur+1;j++) 21 { 22 equal=1; 23 for(k=0;k<j;k++) 24 if(s[cur-k]!=s[cur-k-j]) 25 { 26 equal=0; 27 break; 28 } 29 if(equal) 30 { 31 ok=0;break; 32 } 33 } 34 if(ok) 35 if(!dfs(cur+1)) 36 return 0; 37 } 38 return 1; 39 } 40 41 42 int main() 43 { 44 while(scanf("%d%d",&n,&l)!=EOF) 45 { 46 dfs(0); 47 } 48 return 0; 49 }