Cod sursa(job #1857756)
| Utilizator | Data | 26 ianuarie 2017 16:58:16 | |
|---|---|---|---|
| Problema | Generare de permutari | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.71 kb |
#include <iostream>
#include <cstdio>
using namespace std;
FILE *intrare,*iesire;
int n,v[100],fr[100];
void backtracking (int pos)
{
int i;
if (pos==n)
{
for (i=0; i<=n-1; ++i)
{
fprintf(iesire,"%d ",v[i]);
}
fprintf(iesire,"\n");
}
else
{
for (i=1; i<=n; ++i)
{
if (fr[i]==0)
{
v[pos]=i;
fr[v[pos]]++;
backtracking(pos+1);
fr[v[pos]]=0;
}
}
}
}
int main()
{
intrare=fopen("permutari.in","r");
iesire=fopen("permutari.out","w");
fscanf(intrare,"%d",&n);
backtracking(0);
}
