Cod sursa(job #2087495)

Utilizator AndreiDeltaBalanici Andrei Daniel AndreiDelta Data 13 decembrie 2017 18:59:09
Problema Combinari Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include <fstream>
using namespace std;
ifstream f("Aranjamente.in");
ofstream g("Aranjamente.out");
void Afisare();
int n,m,Multime[1000],Submultime[1000];

void Aranjamente(int k,int contor)
{
   for(int i=contor;i<=n;i++)
   {
       if(Multime[i])
       {
           Submultime[k]=Multime[i];
           if(k+1<=m)
           {
               Multime[i]=0;
               Aranjamente(k+1,Submultime[k]+1);
               Multime[i]=Submultime[k];
           }
           else
             if(k==m) Afisare();
       }
   }
}

void Afisare()
{
  for(int i=1;i<=m;i++)
        g<<Submultime[i]<<" ";
  g<<'\n';
}

int main()
{
    f>>n>>m;
    for(int i=1;i<=n;i++)
    Multime[i]=i;
    Aranjamente(1,1);
    f.close();
    g.close();
    return 0;
}