Pagini recente » Cod sursa (job #1704085) | Cod sursa (job #442425) | Istoria paginii utilizator/anamaria_brezoiu | Cod sursa (job #1706495) | Cod sursa (job #1731046)
#include<stdio.h>
int n,stiva[16];
FILE *inputFile, *outputFile;
void afisare(int nivelK)
{
int i;
for(i=1; i<=nivelK; i++)
{
fprintf(outputFile,"%d ", stiva[i]);
}
fprintf(outputFile,"\n");
}
int valid(int nivelK, int cardinal)
{
int i;
for(i=1; i<=nivelK; i++)
if(cardinal == stiva[i])
return 0;
return 1;
}
void BACK( int nivelK, int cardinal)
{
int i;
for(i=cardinal; i<=n; i++)
{
stiva[nivelK]=i;
if(valid(nivelK-1,i))
{
afisare(nivelK);
BACK(nivelK+1,i);
}
}
}
int main()
{
inputFile=fopen("submultimi.in","r");
outputFile=fopen("submultimi.out", "w");
fscanf(inputFile, "%d", &n);
BACK(1,1);
return 0;
}