Cod sursa(job #3137432)
Utilizator | Data | 12 iunie 2023 22:24:19 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.64 kb |
#include<bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int v[101];
int n, k;
bool correct(int pas){
for(int i=1;i<pas;i++){
if(v[i] >= v[pas])
return false;
}
return true;
}
void output(int n){
for(int i=1;i<=n;i++)
fout << v[i] << " ";
fout << "\n";
}
void Backtrack(int pas){
for(int i=v[pas - 1] + 1;i<=n;i++){
v[pas] = i;
if(correct(pas))
if(pas == k)
output(k);
else
Backtrack(pas + 1);
}
}
int main(){
fin >> n >> k;
Backtrack(1);
}