Pagini recente » Cod sursa (job #227192) | Cod sursa (job #1359973) | Cod sursa (job #439280) | Cod sursa (job #1706547) | Cod sursa (job #1731047)
#include<stdio.h>
int n,stiva[17];
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;
}