Cod sursa(job #914854)
Utilizator | Data | 14 martie 2013 15:23:26 | |
---|---|---|---|
Problema | Generare de permutari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.67 kb |
#include<stdio.h>
using namespace std;
FILE * f=fopen("permutari.in","r");
FILE * g=fopen("permutari.out","w");
int p[10],viz[10],n;
void tipar()
{
for(int i=1;i<=n;i++)
{
fprintf(g,"%d ",p[i]);
}
fprintf(g,"\n");
}
void permut(int k,int n,int p[],int viz[])
{
int i;
if(k==n+1) tipar();
else
{
for(i=1;i<=n;i++)
{
if(viz[i]==0)
{
p[k]=i;
viz[i]=1;
permut(k+1,n,p,viz);
viz[i]=0;
}
}
}
}
int main()
{
fscanf(f,"%d",&n);
permut(1,n,p,viz);
fclose(g);
return 0;
}