1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| #include<bits/stdc++.h> using namespace std;
const int N = 20;
int n;
int order[N]; bool chosen[N];
void calc(int k){ if (k == n + 1) { for(int i = 1; i <= n; i++) printf("%d ", order[i]); puts(""); return; } for(int i = 1; i <= n; i++){ if(chosen[i]) continue; order[k] = i; chosen[i] = 1; calc(k + 1); chosen[i] = 0; } }
int main(){ cin >> n; calc(1); }
|