Cod sursa(job #2559654)

Utilizator matthriscuMatt . matthriscu Data 27 februarie 2020 14:48:22
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
using namespace std;

ifstream cin("combinari.in");
ofstream cout("combinari.out");

int main() {
  register int k = 1, n, m, sol[20];
  bool as, ev;
  sol[1] = 0;
  cin >> n >> m;
  
  while(k) {
    do {
      as = 0;
      if(sol[k] < n) {
        sol[k]++;
        as = 1;
      }
      if(as) {
        ev = 1;
        for(int i = 1; i < k; ++i)
          if(sol[i] >= sol[k])
            ev = 0;
      }
    } while(as && !ev);
    if(as)
      if(k == m) {
        for(int i = 1; i <= m; ++i)
          cout << sol[i] << ' ';
        cout << '\n';
      }
      else {
        ++k;
        sol[k] = 0;
      }
    else
      --k;
  }
}