Cod sursa(job #2646581)
| Utilizator | Data | 1 septembrie 2020 15:00:16 | |
|---|---|---|---|
| Problema | Combinari | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.65 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("combinari.in");
ofstream fout ("combinari.out");
int n, m;
const int DIM = 20 + 5;
int ans[DIM], f[DIM];
void solve(int k)
{
for(int i = ans[k - 1] + 1; i <= n; ++i) {
if(f[i] == false) {
ans[k] = i;
f[i] = true;
if(k < m) solve(k + 1);
else {
for(int j = 1; j <= m; ++j) {
fout << ans[j] << " ";
}
fout << "\n";
}
f[i] = false;
}
}
}
int main()
{
fin >> n >> m;
solve(1);
return 0;
}
