Cod sursa(job #2526463)

Utilizator thinkphpAdrian Statescu thinkphp Data 18 ianuarie 2020 17:30:43
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.1 kb
#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;
}