Pagini recente » Cod sursa (job #2444396) | Cod sursa (job #516752) | Cod sursa (job #2580428) | Cod sursa (job #1835728) | Cod sursa (job #715330)
Cod sursa(job #715330)
#include <fstream>
using namespace std;
long M[20] = {0};
fstream fout;
int OK(long pos)
{
long t[20] = {0};
long i;
for (i = 1;i <= pos;i += 1)
{
if (t[M[i]] == 1)
{
return 0;
}
t[M[i]] = 1;
}
for (i = 1;i < pos;i += 1)
{
if (M[i+1] <= M[i])
{
return 0;
}
}
return 1;
}
void bkt(long n,long k,long pos)
{
long i;
if (pos > k)
{
for (i = 1;i <= k;i += 1)
{
fout << M[i] << " ";
}
fout << "\n";
return;
}
for (i = 1;i <= n;i += 1)
{
M[pos] = i;
if (OK(pos))
{
bkt(n,k,pos + 1);
}
}
}
int main(void)
{
fstream fin("submultimi.in",ios::in);
fout.open("submultimi.out",ios::out);
long N,K;
fin >> N;
for (K = 1;K <= N;K += 1)
{
bkt(N,K,1);
}
fin.close();
fout.close();
return 0;
}