Pagini recente » Cod sursa (job #1923027) | Cod sursa (job #3221816) | Cod sursa (job #2651464) | Cod sursa (job #2237911) | Cod sursa (job #2526463)
#include <iostream>
#include <vector>
#define push push_back
#define FIN "combinari.in"
#define FOUT "combinari.out"
using namespace std;
int n,
k;
vector<int> stack;
void outputCombinations() {
freopen(FOUT, "w", stdout);
stack.push(1);
while(stack.size() < k) {
stack.push(stack.back()+1);
}
for(vector<int>::iterator it = stack.begin(); it != stack.end(); ++it)
cout<<*it<<" ";
cout<<"\n";
do {
if( stack.back() < n - (k - stack.size()) ) {
stack.back()++;
while(stack.size() < k) {
stack.push(stack.back() + 1);
}
for(vector<int>::iterator it = stack.begin(); it != stack.end(); ++it)
cout<<*it<<" ";
std::cout<<"\n";
} else {
stack.pop_back();
}
} while(!stack.empty());
fclose(stdout);
}
void read() {
freopen(FIN, "r", stdin);
cin>>n>>k;
fclose( stdin );
}
int main(int argc, char const *argv[])
{
read();
outputCombinations();
return 0;
}