Cod sursa(job #2462151)
Utilizator | Data | 26 septembrie 2019 20:27:27 | |
---|---|---|---|
Problema | Combinari | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.61 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("combinari.in");
ofstream fout("combinari.out");
int v[21], n, p;
bool egale(int k){
for(int i = 1; i < k; ++i){
if(v[k] <= v[i]) return false;
}
return true;
}
void afis(){
for(int i = 1; i <= p; ++i){
fout << v[i] << " " ;
}
fout << '\n';
}
void backtr(int k){
for(int i = 1; i <= n; ++i){
v[k] = i;
if(egale(k)){
if(k == p)
afis();
else backtr(k + 1);
}
}
}
int main(){
fin >> n >> p;
backtr(1);
return 0;
}