Cod sursa(job #359804)

Utilizator alex@ndraAlexandra alex@ndra Data 28 octombrie 2009 13:36:32
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<fstream>
using namespace std;

int n, k,st[20];
int valid(int);
void afisare();

ofstream fout("combinari.out");

void citire()
{
  ifstream f("combinari.in");
      f>>n>>k;
  f.close();
}

void back(int p)
{ int pval;
     for(pval=1;pval<=n;pval++)
         {
           st[p]=pval;
           if(valid(p))
             if(p==k)
               afisare();
             else back(p+1);
         }
}

int valid(int p)
{
    int i;
    
    for(i=1;i<p;i++)
      if(st[i]==st[p])
         return 0;
    
    if(st[p-1]>st[p])
         return 0;
         
    return 1;
}

void afisare()
{
     int i;
     
        for(i=1;i<=k;i++)
          fout<<st[i]<<" ";
          fout<<"\n";
        
}
          
int main()
{
 citire();
 back(1);
 
 fout.close();
return 0;
}