Pagini recente » Cod sursa (job #87704) | Cod sursa (job #665701) | Cod sursa (job #425202) | Cod sursa (job #2912722) | Cod sursa (job #1046461)
#include<fstream>
using namespace std;
void backtrack(int, int);
ofstream cout("combinari.out");
int main(){
int n, k;
ifstream f("combinari.in");
f >> n >> k;
backtrack(n,k);
return 0;
}
bool eValid(int V[], int n, int i){
if (i > 1){
if (V[i] <= V[i - 1]){
return false;
}
}
return true;
}
void backtrack(int n, int k){
int V[20];
int i = 1;
V[i] = 0;
bool valid = false;
while (i > 0){
valid = false;
while (V[i] < n && !valid){
V[i]++;
valid = eValid(V, n, i);
}
if (valid){
if (i == k){
for (int l = 1; l <= k; l++){
cout << V[l] << " ";
}
cout << '\n';
}
else{
i++;
V[i] = 0;
}
}
else{
i--;
}
}
}