Cod sursa(job #41935)

Utilizator marinaMarina Horlescu marina Data 28 martie 2007 18:27:37
Problema 1-sir Scor 60
Compilator c Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <string.h>
#define INPUT "1-sir.in"
#define OUTPUT "1-sir.out"
#define MAXN 257
#define MAX 32640
#define CONST 194767
#define abs(x) (x)>0?(x):-(x)
int N, S;
int rez[MAX + 1], rez2[MAX + 1];
int main()
{
	freopen(INPUT, "r", stdin);
	scanf("%d %d", &N, &S);
	int i, j;
	
	if( S < 0) S = -S;
	rez[0] = 1;
	for(i = 2; i <= N; ++i)
	{
		memset(rez2, 0, sizeof(rez2));
		for(j = 0; j <= MAX; ++j)
		{
			if(j + (i-1) <= MAX) rez2[j] = (rez2[j] + rez[j + (i-1)]) % CONST;
			rez2[j] = (rez2[j] +   rez[abs(j - (i-1))]) % CONST;
		}

		memcpy(rez, rez2, sizeof(rez2));
	}
	
	
	freopen(OUTPUT, "w", stdout);
	printf("%d\n", rez2[S]);
	return 0;
}