Pagini recente » Cod sursa (job #396946) | Cod sursa (job #2205557) | Cod sursa (job #584299) | Cod sursa (job #1981343) | Cod sursa (job #1691737)
#include <stdio.h>
#include<iostream>
#include <assert.h>
#include<fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
#define NMAX 18
void write(int a[], int k)
{
int i;
for (i = 0; i < k; i++)
fout << a[i] << " ";
fout << endl;
}
int cond(int a[], int k)
{
for (int i = 0; i < k; i++)
if (a[i] == a[k] || a[i]>a[k])return 0;
return 1;
}
void back(int a[], int n,int k,int p)
{
if (p == k)
write(a, k);
else
for (int i = 1; i <= n; i++)
{
a[p] = i;
if (cond(a,k))
back(a, n, k ,p+1);
}
}
int main()
{
int a[NMAX], n, k;
fin >> n >> k;
back(a, n, k,0);
return 0;
}