
团结,进步,务实,创新!
#include <stdio.h> int array[10]; void output(int n) { int i; n -= 1; for(i=0; i<n; ++i) { printf("%d ", array[i]); } printf("%d\n", array[i]); } int isUsed(int d, int idx) { int k; for(k=0; k<idx; ++k) { if(d == array[k]) { return 1; } } return 0; } void quan(int n, int idx) { if(idx >= n) { output(n); return; } int d; for(d=1; d<=n; ++d) { if(isUsed(d, idx)) { continue; } array[idx] = d; quan(n, idx+1); } } void quanPaiLie(int n) { quan(n, 0); } int main() { int n; int d; scanf("%d", &n); while(n--) { scanf("%d", &d); quanPaiLie(d); } return 0; }全排列