Cod sursa(job #1228598)

Utilizator antirsi96Sergiu Marin antirsi96 Data 14 septembrie 2014 17:58:33
Problema Combinari Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 1.2 kb
#include <iostream>
#include <iomanip>
#include <fstream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <cctype>
#include <cstring>
#include <ctime>
#include <cassert>
#include <string>
#include <sstream>
#include <vector>
#include <map>
#include <set>
#include <stack>
#include <algorithm>
#include <utility>
#include <queue>
#include <deque>
#include <list>
#include <iterator>
#include <limits>
#include <numeric>
#include <functional>

using namespace std;

#define nl "\n"

typedef long long ll;
typedef unsigned long ulong;
typedef unsigned int uint;
typedef unsigned char uchar;

const double PI = acos(-1.0);

ifstream fin("combinari.in");
ofstream fout("combinari.out");

void back(int n,int k,int comb[], int i)
{
   if(i==k+1)
   {
      for(int i=1;i<=k;i++)
	 fout<<comb[i]<<" ";
      fout<<nl;
      return;
   }
   for(int v=1;v<=n;v++)
   {
      bool valid=true;
      for(int j=1;j<i;j++)
	 if(comb[j]>=v)
	    valid=false;
      if(valid==true)
      {
	 comb[i]=v;
	 back(n,k,comb,i+1);
      }
   }
}

int main()
{
   int n,k,comb[10];
   fin>>n>>k;
   back(n,k,comb,1);
   fin.close();
   fout.close();
   return 0;
}