Cod sursa(job #1869222)

Utilizator flibiaVisanu Cristian flibia Data 5 februarie 2017 17:44:58
Problema Submultimi Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

ifstream in("submultimi.in");
ofstream out("submultimi.out");

int n, s[21];

bool valid(int k){
	for(int i = 1; i < k; i++) if(s[i] == s[k]) return 0;
	if(s[k] < s[k-1]) return 0;
	return 1;
}

void print(int k){
	for(int i = 1; i <= k; i++) out << s[i] << ' ';
	out << '\n';
}

void back(int k, int v){
	int i;
	for(i = 1; i <= n; i++){
		s[k] = i;
		if(valid(k)){
			if(k == v) print(v);
			else back(k+1, v);
		}
	}
}

int main(){
	in >> n; 
	for(int i = 1; i <= n; i++){
		back(1, i);
	}
	return 0;
}