Cod sursa(job #330791)

Utilizator anna_bozianuBozianu Ana anna_bozianu Data 11 iulie 2009 16:04:17
Problema Pavare2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
#define tip long long
tip L,a,n,k,N[110],A[110],SN[110],SA[110],sol,i,nr,c;
void read(),solve();
int main()
{
	read();
	solve();
	return 0;
}
void read()
{
	freopen("pavare2.in","r",stdin);
	freopen("pavare2.out","w",stdout);
	scanf("%lld%lld%lld",&L,&a,&n);
	scanf("%lld",&k);
}
void solve()
{
	N[1]=A[1]=1;SN[1]=SA[1]=1;
	for(i=2;i<=L;i++)
	{
		N[i]=(i<=n)?SA[i-1]+1:SA[i-1]-SA[i-n-1];
		A[i]=(i<=a)?SN[i-1]+1:SN[i-1]-SN[i-a-1];
		SN[i]=SN[i-1]+N[i];
		SA[i]=SA[i-1]+A[i];
	}
	sol=N[L]+A[L];
	printf("%lld\n",sol);
	if(k==1)
	{
		c=0;nr=a;
		for(i=1;i<=L;i++)
		{
			if(nr){ printf("0");nr--;}
			else
			{
				printf("1");
				nr=a;
			}
		}
	}
	else ;
	
}