Pagini recente » Cod sursa (job #2537530) | Cod sursa (job #2089935) | Cod sursa (job #2043910) | Cod sursa (job #2977699) | Cod sursa (job #1048157)
#include<stdio.h>
#include<vector>
using namespace std;
int i, j, n, sir[21], viz[21];
void bkt (int x) {
if (x == n + 1) {
for (int t = 1; t <= n; t++)
printf ("%d ", sir[t]);
printf ("\n");
} else {
if (x != 1) {
int t = 1;
while (t <= n && sir[t] != 0) {
printf ("%d ", sir[t]); t++;
}
printf ("\n");
}
for (int t = sir[x-1] + 1; t <= n; t++) {
if (viz[t] == 0) {
viz[t] = 1; sir[x] = t;
bkt (x + 1);
viz[t] = 0; sir[x] = 0;
}
}
}
}
int main () {
freopen ("submultimi.in", "rt", stdin);
freopen ("submultimi.out", "wt", stdout);
scanf ("%d", &n);
bkt (1);
return 0;
}