Pagini recente » Cod sursa (job #2401102) | Cod sursa (job #300917) | Cod sursa (job #2376351) | Cod sursa (job #3290585) | Cod sursa (job #2191134)
#include <cstdio>
int n, p[20], used[20];
char buffer[10000010];
int bufferSize;
void backTracking(int k)
{
if (k - 1 == n) {
for (int i = 1; i <= n; ++i) {
buffer[bufferSize++] = p[i] + '0';
buffer[bufferSize++] = ' ';
}
buffer[bufferSize++] = '\n';
}
else for (int i = 1; i <= n; ++i)
if (!used[i]) {
p[k] = i;
used[i] = 1;
backTracking(k + 1);
used[i] = 0;
}
}
int main()
{
FILE *in, *out;
in = freopen("permutari.in", "r", stdin);
out = freopen("permutari.out", "w", stdout);
scanf("%d", &n);
fclose(in);
backTracking(1);
buffer[bufferSize] = '\0';
printf("%s", buffer);
fclose(out);
return 0;
}