Cod sursa(job #22507)

Utilizator alex_prgPrigoana Alexandru alex_prg Data 26 februarie 2007 19:17:51
Problema 1-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<stdio.h>
long s;
int n,a[2][10000],c[2][10000];

void din()
{int i,smax=0,j,v1,v2,smax1=0;
a[0][0]=1; c[0][0]=0;
for(i=0;i<n-1;++i)
	{for(j=0;j<=smax;++j)
		if(a[0][j])
			{v1=2*j-c[0][j]+1;
			 v2=2*j-c[0][j]-1;
			 if((v1<=s*(s-1)) && (v1>=0))
			 		{a[1][v1]+=a[0][j];
			 		 c[1][v1]=j;
					 if(v1>smax1) smax1=v1;}
			 if((v2<=s*(s-1)) && (v2>=0))
			 		{a[1][v2]+=a[0][j];
			 		 c[1][v2]=j;
					 if(v2>smax1) smax1=v2;} }
	 for(j=0;j<=smax;++j)
	 	{a[0][j]=a[1][j];
	 	 c[0][j]=c[1][j];} 
	 smax=smax1;} }

int main()
{freopen("1-sir.in","r",stdin);
freopen("1-sir.out","w",stdout);
scanf("%d%ld",&n,&s);

din();
printf("%d\n",a[1][s]);
fclose(stdin);
fclose(stdout);
return 0;}