Pagini recente » Cod sursa (job #1788307) | Cod sursa (job #908628) | Cod sursa (job #1849198) | Cod sursa (job #1915274) | Cod sursa (job #334412)
Cod sursa(job #334412)
#include <cstdio>
//using namespace std;
FILE *f,*g;
int n, sol[9];
void init(int k)
{ sol[k]=0;
}
int succesor(int k)
{ if(sol[k]<n)
{ sol[k]++;
return 1;}
return 0;
}
int valid(int k)
{ int i;
for(i=1;i<=k-1;i++)
if(sol[k]==sol[i])
return 0;
return 1;
}
int solutie(int k)
{ if(k==n+1)
return 1;
return 0;
}
void back(int k)
{ int j;
if(solutie(k))
{for(j=1;j<k;j++)
fprintf(g,"%d ", sol[j]);
fprintf(g,"\n");
}else
{init(k);
while(succesor(k))
if (valid(k))
back(k+1);
}
}
int main()
{ f=fopen("permutari.in","r");
g=fopen("permutari.out","w");
fscanf(f,"%d",&n);
back(1);
fclose(f);fclose(g);
}