Cod sursa(job #974199)

Utilizator petrutsxMihaela Petruta Gaman petrutsx Data 16 iulie 2013 16:57:27
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#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;
}