Cod sursa(job #3214055)
Utilizator | Data | 13 martie 2024 18:54:44 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.58 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int n, x[19], k;
bool check(int j){
for(int i = 1; i < j; i++) if(x[i] == x[j]) return false;
return true;
}
void afis(){
for(int i = 1; i <= k; i++) fout << x[i] << ' ';
fout << '\n';
}
void back(int j){
for(int i = x[j - 1] + 1; i <= n - k + j; i++){
x[j] = i;
if(check(j)){
if(k == j) afis();
else back(j + 1);
}
}
}
int main(){
fin >> n >> k;
back(1);
return 0;
}