Cod sursa(job #31016)

Utilizator PetruRaresPetru Rares PetruRares Data 15 martie 2007 13:21:18
Problema Pavare2 Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<fstream.h>
long a,b,n;
long long k,nu;
int v[101],z[101];

void back(int l,long x,long y);

int main ()
{
 int i;
 ifstream f("pavare2.in");
 ofstream g("pavare2.out");
 f>>n>>a>>b;
 f>>k;
 back(1,0,0);
 g<<nu<<"\n";
 for(i=1;i<=n;i++)
 g<<z[i];

 return 0;
}

void back(int l,long x,long y)
{
 if(l>n)
  {
  if(++nu==k)
  {
   for(int i=1;i<=n;i++)
   z[i]=v[i];
  }
  }
 else
 {
  if(x+1<=a)
  {
   v[l]=0;
   back(l+1,x+1,0);
  }
  if(y+1<=b)
  {
   v[l]=1;
   back(l+1,0,y+1);
  }
 }
}