The re-use of backtracking, the experience of subtlety. More research, do more questions ~ ~
#include <bits/stdc++.h>using namespace Std;int n,l,cnt,s[100];int dfs (int cur) {if (cnt++==n) {int kase=0 , ans=0,ens=0; for (int i=0;i<cur;i++) {printf ("%c", ' A ' +s[i]); kase++; ens++; if (kase==4) {kase=0; ans++;} if (ans!=16&&kase==0&&i!=cur-1) printf (""); if (ans==16) {printf ("\ n"); ans=0;} } if (ans==0&&kase==0); else printf ("\ n"); printf ("%d\n", ENS); return 0; } for (int i=0;i<l;i++) {s[cur]=i; int ok=1; for (int j=1;j*2<=cur+1;j++) {int equ=1; for (int k=0;k<j;k++) if (S[cur-k]!=s[cur-k-j]) {equ= 0; if (equ) {ok=0; break;} if (OK) if (!dfs (cur+1)) return 0; } return 1;} int main () {while (scanf ("%d%d", &n,&l)!=eof) {if (n==0&&l==0) return 0; Memset (s,0,sizeof (s)); cnt=0; DFS (0); } return 0;}
129-krypton Factor (Dfs backtracking)