Pagini recente » Cod sursa (job #208741) | Cod sursa (job #596818) | Cod sursa (job #1772758) | Cod sursa (job #2777700) | Cod sursa (job #1145779)
#include <iostream>
#include <vector>
#include <fstream>
using namespace std;
ifstream f("combinari.in");
ofstream g("combinari.out");
void Afisare(vector<int> v, int n){
for(int i=1; i<=n; i++)
g<<v[i]<<" ";
g<<"\n";
}
bool valid(vector<int> v, int pos){
for(int i=1; i<pos; i++)
if(v[i] >= v[pos])
return false;
return true;
}
void back(vector<int> &v, int pos, int k, int n){
for(int i=1; i<=n; i++){
v[pos] = i;
if(valid(v, pos)){
if(pos < k)
back(v, pos+1, k, n);
if( pos == k )
Afisare(v, k);
}
}
}
int main()
{
int n, k;
f>>n>>k;
vector<int> v(n+1, -1);
back(v, 1, k, n);
return 0;
}