Cod sursa(job #2429073)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 7 iunie 2019 17:01:19
Problema Combinari Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.96 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

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

int n, m, v[20], w[20], f[20], ok;

void perm(int k){

      if(k > m){
            for(int i=1; i<=m; i++)
                  w[i]=v[i];
            sort(w+1, w+m+1);
            ok=1;

            for(int i=1; i<=m; i++)
                  if(v[i] != w[i]){
                        ok=0;
                        break;
                  }
            if(ok == 1){
                  for(int i=1; i<=m; i++)
                        fout<<v[i]<<" ";
                  fout<<"\n";
            }

            return;
      }

      for(int i=1; i<=n; i++){
            if(f[i] == 0){
                  v[k]=i;
                  f[i]=1;
                  perm(k+1);
                  f[i]=0;
            }
      }
}

int main (){
      fin>>n;
      fin>>m;
      perm(1);
      return 0;
}