Pagini recente » Clasament probleme_sarbatori | Istoria paginii runda/o_0 | Cod sursa (job #118048) | Cod sursa (job #1865976) | Cod sursa (job #2227544)
#include <iostream>
#include <cstdio>
using namespace std;
FILE *g;
void readfrom(int *n)
{
FILE *f;
f = fopen("permutari.in", "r");
fscanf(f, "%d", n);
fclose(f);
}
void afisare(int n, int *a)
{
for (int i = 1; i <= n; i++)
{ fprintf(g, "%d ", a[i]); }
fprintf(g, "\n");
}
void back(int n, int k, int *a)
{
int under;
for (int i = 1; i <= n; i++)
{
under = 0;
for (int j = 1; j < k; j++)
if (a[j] == i) under = 1;
//printf("%d\n", under);
if (!under)
{
a[k] = i;
if (k == n) { afisare(n, a); return; } else back(n, k + 1, a);
}
}
}
int main(void)
{
int n, a[9];
readfrom(&n);
for (int i = 1; i <= n; i++)
a[i] = 0;
g = fopen("permutari.out", "w");
back(n, 1, a);
fclose(g);
return (0);
}