Pagini recente » Cod sursa (job #2074913) | Cod sursa (job #666052) | Cod sursa (job #672969) | Cod sursa (job #1104197) | Cod sursa (job #1221684)
#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;
}