Cod sursa(job #1884941)
Utilizator | Data | 19 februarie 2017 15:00:16 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <fstream>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
const int N = 19;
int n, k, v[N];
bool ok(int l)
{
for(int i=1;i<l;++i)
if(v[i]==v[l]) return false;
return true;
}
void bk(int l)
{
for(v[l]=v[l-1]+1;v[l]<=n;++v[l])
{
if(ok(l))
{
if(l==k)
{
for(int i=1;i<=l;i++)
fout<<v[i]<<" ";
fout<<'\n';
}
else bk(l+1);
}
}
}
int main()
{
fin>>n>>k;
bk(1);
return 0;
}