Pagini recente » Istoria paginii runda/unmicwarmup/clasament | Cod sursa (job #1371635) | Cod sursa (job #2568933) | Cod sursa (job #2395390) | Cod sursa (job #1722670)
#include <stdio.h>
#include <stdlib.h>
int n, v[8];
int valid(int k, int i)
{
int j;
for(j=0; j<k; j++)
if(v[j] == i)
return 0;
return 1;
}
void perm(int k, FILE *g)
{
int i;
if(k == n)
{
for(i=0; i<n; i++)
fprintf(g, "%d ", v[i]);
fputc('\n', g);
}
else
{
for(i=1; i<=n; i++)
if(valid(k, i))
{
v[k]=i;
perm(k+1, g);
}
}
}
int main()
{
FILE *f = fopen("permutari.in", "r");
FILE *g;
if(!f)
exit(1);
fscanf(f, "%d", &n);
fclose(f);
if(!g)
exit(2);
g = fopen("permutari.out", "w");
perm(0, g);
fclose(g);
return 0;
}