Pagini recente » Cod sursa (job #1799475) | Cod sursa (job #1771888) | Cod sursa (job #767958) | Cod sursa (job #1691009) | Cod sursa (job #1553054)
#include <stdio.h>
using namespace std;
FILE*fin= fopen ("permutari.in","r");
FILE*fout = fopen("permutari.out", "w");
int a[10],sol[10],n;
void afis(){
for (int i=1;i<=n;i++)fprintf(fout,"%d ", a[sol[i]]);
fprintf(fout,"\n");}
bool ok (int k)
{
for (int i=1;i<k;i++)if (sol[i]==sol[k])return false;
return true;
}
void backt (int k){
int i;
if (k>n)afis();
for (i=1;i<=n;i++)
{
sol[k]=i;
if (ok(k))backt(k+1);
}
}
int main()
{
fscanf (fin , "%d", &n);
for (int i=1;i<=n;i++)a[i]=i;
backt(1);
fclose(fin);fclose(fout);
return 0;
}