Pagini recente » Cod sursa (job #2868291) | Cod sursa (job #2596050) | Cod sursa (job #881796)
Cod sursa(job #881796)
#include <stdio.h>
FILE *in,*out;
using namespace std;
void back(int pos);
void afisare(int pos);
bool valid(int pos);
int st[10],n;
int main()
{
in=fopen("permutari.in","rt");
out=fopen("permutari.out","wt");
fscanf(in,"%d",&n);
back(1);
fclose(in);
fclose(out);
return 0;
}
void back(int pos)
{
int i;
for(i=1;i<=n;i++)
{
st[pos]=i;
if(valid(pos))
{
if(pos==n)
afisare(pos);
else
back(pos+1);
}
}
}
bool valid(int pos)
{
for(int i=1;i<pos;i++)
{
if(st[pos]==st[i])
return false;
}
return true;
}
void afisare(int pos)
{
for(int i=1;i<=pos;i++)
{
fprintf(out,"%d ",st[i]);
}
fprintf(out,"\n");
}