Cod sursa(job #2605857)
| Utilizator | Data | 25 aprilie 2020 23:14:04 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
int x[19], n, k;
void afis()
{
for(int i = 1; i <= k; ++ i)
g << x[i] << " ";
g << "\n";
}
bool valid(int l)
{
for(int i = 1; i < l; ++ i)
{
if(x[i] >= x[l])
return false;
}
return true;
}
void back(int l)
{
for(int i = 1; i <= n; ++ i)
{
x[l] = i;
if(valid(l))
if(l == k)
afis();
else
back(l + 1);
}
}
int main()
{
f >> n >> k;
back(1);
return 0;
}
