Pagini recente » Cod sursa (job #319683) | Cod sursa (job #554562) | Cod sursa (job #2863810) | Cod sursa (job #3252624) | Cod sursa (job #974199)
Cod sursa(job #974199)
#include<stdio.h>
int sol[17], ok[17];
FILE *pf, *pg;
void BackTracking(int poz, int n, int k){
if(poz-1 == k){
for(int i = 1; i <= k; i++)
fprintf(pg, "%d ", sol[i]);
fprintf(pg, "\n");
}
else{
int i;
for(i = 1; i <= n; i++)
if(!ok[i] && sol[poz-1] < i){
sol[poz] = i;
ok[i] = 1;
BackTracking(poz+1, n, k);
ok[i] = 0;
}
}
}
int main(){
int k;
int n;
pf = fopen("submultimi.in","r");
pg = fopen("submultimi.out","w");
fscanf(pf,"%d",&n);
for(k=1; k<=n; k++)
BackTracking(1, n, k);
fclose(pf);
fclose(pg);
return 0;
}