Cod sursa(job #31031)
| Utilizator | Data | 15 martie 2007 13:25:14 | |
|---|---|---|---|
| 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);
}
}
}
