Pagini recente » Cod sursa (job #311837) | Monitorul de evaluare | Cod sursa (job #1127776) | Cod sursa (job #201826) | Cod sursa (job #1006818)
#include <fstream>//var II
#include <cmath>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int n, k, a[19];
void init (int l) {
a[l] = l-1;
}
bool succesor (int l) {
a[l]++;
return a[l] < n-(k-l)+1;
}
bool valid (int l) {
return a[l-1] < a[l];
}
bool sol (int l) {
return l == k;
}
void tip () {
int i;
for (i = 1; i <= k; i++)
g << a[i] << ' ';
g << '\n';
}
void bt (int l) {
init (l);
while (succesor(l))
if (valid(l))
if (sol(l))
tip();
else
bt(l+1);
}
int main()
{
f>>n>>k;
bt(1);
return 0;
}