Cod sursa(job #305923)

Utilizator cosserBula Ionut cosser Data 18 aprilie 2009 21:29:28
Problema Combinari Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.79 kb
#include<iostream>
#include<fstream>

using namespace std;
ofstream o ("combinari.out");
int n,st[100],k,m;

int valid()
{ int j;
for(j=1;j<k;j++)
    if(st[k]==st[j] || st[k]<st[j])
            return 0;
return 1;
}

int succ()
{
    if(st[k]<n)
        {st[k]++;
            return 1;}
     else
            return 0;
}

void bkt()
{

int a,i;
k=1;
st[k]=0;
while(k>0)
{
do
 a=succ();
   while(a && !valid());

if(a)
    if(k==m)
       { for(i=1;i<=m;i++)
               o<<st[i]<<" ";
        o<<"\n";}
     else
       {
         //  if(k==1)
           //        st[k]=0;
           // else
            //    st[k]=st[k-1];
      k++;st[k]=0;
       }
else k--;

}
}

int main()
{
ifstream f ("combinari.in");


f>>n>>m;

bkt();


return 0;}