#include <stdio.h>#define MAXM 10int m, n;int workarr[MAXM];int record[MAXM];void DFS(int l){ int i; if (l == n) { for (i=0; i<n; i++) printf("%c", 'a'+record[i]); printf("\n"); return; } for (i=0; i<m; i++) if (workarr[i] > 0) { workarr[i]--; record[l] = i; DFS(l+1); workarr[i]++; }}int main(){ int i; while (scanf("%d%d", &m, &n) != EOF) { for (i=0; i<m; i++) workarr[i] = n; DFS(0); } return 0;}

评论