Cod sursa(job #1114030)

Utilizator robertstrecheStreche Robert robertstreche Data 21 februarie 2014 10:46:01
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
#include <fstream>

using namespace std;

ifstream f("combinari.in");
ofstream g("combinari.out");

short n,k;
short sol[20];

int tip()
{
   short v[20]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};

   for (short i=1;i<=k;i++)
    v[sol[i]]++;

   if (v[0])
    return 1;

   for (short i=1;i<=n;i++)
     if (v[i]>=2)
      return 1;

    for (short i=1;i<=k;i++)
     g<<sol[i]<<" ";
     g<<'\n';
}

void back(short x)
{


    if (x!=k+1)
     {
         for (short i=sol[x-1];i<=n;i++)
          {
              sol[x]=i;
              if (x==k)
               tip();
              else
               back(x+1);
          }
     }
}

int main()
{
    f>>n>>k;

    back(1);

    f.close();
    g.close();
}