Cod sursa(job #2707526)

Utilizator george347Ungureanu Octavian george347 Data 17 februarie 2021 11:23:02
Problema Combinari Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.9 kb
#include <fstream>
 
using namespace std;

ifstream in("combinari.in");
ofstream out("combinari.out");
int n,p,st[100],k,as,ev,i;
void succesor()
{
    if(st[k]<n-p+k)
    {
        st[k]++;
        as=1;
    }
    else as=0;
}
void valid ()
{
  int i;
    ev=1;
        for(i=1;i<k;i++)
        if(st[i]==st[k])
        ev=0;
        if(k>1 && st[k]<st[k-1])
        ev=0;
}
void bkt(){
    k=1;
    st[k]=0;
    while(k>0)
    {
        do{
            succesor();
            if(as)
                valid();
           
        }
        while (as&&!ev);
        if(as)
            if(k==p){
            for(i=1;i<=p;i++)
                out<<st[i]<<' ';
            out<<"\n";
        }
        else{
            k++;
            st[k]=0;
        }
        else k--;
    }
    
}
    
    
    
    
    
    
int main()
{
in>>n>>p;
bkt();
return 0;
}