Cod sursa(job #205926)

Utilizator devilkindSavin Tiberiu devilkind Data 3 septembrie 2008 16:28:53
Problema 1-sir Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <stdio.h>

#define NMAX 256

int din[2][NMAX*NMAX];
int K,N,S;

int main()
{
	freopen("1-sir.in","r",stdin);
	freopen("1-sir.out","w",stdout);

	int i,j,x;

	scanf("%d %d",&N,&S);

	if (S<0) S*=-1;
	if ( S>(N*N-1)/2 ) {printf("0");return 0;}
	K=N*(N-1)/2 - S;
	if (K%2==1) {printf("0");return 0;}
	K/=2;

//	printf("%d ",K);
	din[0][0]=1;

	for (i=1,x=0;i<N;i++)
	{
		x=!x;
		for (j=0;j<=K;j++)
		{
			din[x][j]=din[!x][j];
			if (j>=i) din[x][j]+=din[!x][j-i];
		}
	}
	
	printf("%d",din[x][K]);
	return 0;
}