Cod sursa(job #2443923)
Utilizator | Surani Adrian Therevengerking | Data | 29 iulie 2019 18:59:37 |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.63 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
const int Nmax = 20;
int n, k, a[Nmax], b[Nmax];
bool fol[Nmax];
void bck(int poz)
{
if(poz == k + 1)
{
for(int i = 1; i <= k; ++i)
fout << b[i] << ' ';
fout << '\n';
return;
}
int li = 0;
for(int i = 1; i <= n; ++i)
if(fol[i])li = i;
for(int i = li + 1; i <= n; ++i)
if(!fol[i])
{
b[poz] = i;
fol[i] = 1;
bck(poz + 1);
fol[i] = 0;
}
}
int main()
{
fin >> n >> k;
bck(1);
return 0;
}