Cod sursa(job #1048157)

Utilizator razvan2006razvan brezulianu razvan2006 Data 5 decembrie 2013 13:57:15
Problema Submultimi Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<stdio.h>
#include<vector>
using namespace std;

int i, j, n, sir[21], viz[21];

void bkt (int x) {
	if (x == n + 1) {
		for (int t = 1; t <= n; t++)
			printf ("%d ", sir[t]);
		printf ("\n");
	} else {
		if (x != 1) {
			int t = 1;
			while (t <= n && sir[t] != 0) {
				printf ("%d ", sir[t]); t++;
			}
			printf ("\n");
		}
		
		for (int t = sir[x-1] + 1; t <= n; t++) {
			if (viz[t] == 0) {
				viz[t] = 1;	sir[x] = t; 
				bkt (x + 1);
				viz[t] = 0; sir[x] = 0;
			}
		}
	}
}

int main () {
	freopen ("submultimi.in", "rt", stdin);
	freopen ("submultimi.out", "wt", stdout);
	
	scanf ("%d", &n);
	
	bkt (1);
	
	return 0;
}