Pagini recente » Cod sursa (job #3248928) | Cod sursa (job #574851) | Cod sursa (job #1651808) | Cod sursa (job #2193974) | Cod sursa (job #8798)
Cod sursa(job #8798)
#include<stdio.h>
const int maxn = 300;
int a[maxn][maxn][3];
int nr[maxn];
int i;
int j;
int k;
int sum;
int n;
int main()
{
freopen("pavare2.in","r",stdin);
freopen("pavare2.out","w",stdout);
int k2;
scanf("%d %d %d %d",&n,&nr[0],&nr[1],&k2);
a[1][1][0]=1;
a[1][1][1]=1;
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
for(k=0;k<=1;k++)
{
if (j+1<=nr[k]) a[i+1][j+1][k]+=a[i][j][k];
a[i+1][1][k^1]+=a[i][j][k];
}
}
for(i=1;i<=n;i++)
for(k=0;k<=1;k++)
sum+=a[n][i][k];
printf("%d\n",sum);
int i1;
i1=n;
while(i1)
{
sum=0;
for(i=1;i<=n;i++)
sum+=a[i1][i][0];
if (sum<=k2)
{
printf("1");
k2-=sum;
}
else
{
printf("0");
}
i1--;
}
printf("\n");
return 0;
}