Cod sursa(job #1221684)

Utilizator o_micBianca Costin o_mic Data 21 august 2014 10:52:14
Problema Submultimi Scor 50
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>

using namespace std;

int n, v[20];
fstream g("submultimi.out", ios::out);

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

int solutie(int k)
{
    int i;
    for(i = 0 ; i < k - 1; i++)
        if(v[i] > v[i+1])
            return 0;
    return 1;
}

void print(int k)
{
	int i;
	for(i = 0 ; i < k ; i++)
		g << v[i] << " ";
	g << endl;
}

void BKT(int k)
{
	int i;
	for(i = k ; (i <= n) && k <= n ; i++)
	{
		v[k-1] = i;
		if(valid(k))
        {
            if(solutie(k))
                print(k);
            BKT(k + 1);
        }
	}
}

int main()
{
	fstream f("submultimi.in", ios::in);
	f >> n;
	BKT(1);
	return 0;
}