Cod sursa(job #220350)

Utilizator peanutzAndrei Homorodean peanutz Data 10 noiembrie 2008 15:36:37
Problema 1-sir Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <stdio.h>
#include <string.h>

#define NMAX 259
#define MOD 194767

int n, s, s1;

inline int abs(int a)
{
	if(a < 0)
		a = -a;
	if(a > s)
		a = s;		
	return a;
}

int a[2][NMAX];

int main()
{
	freopen("1-sir.in", "r", stdin);
	freopen("1-sir.out", "w", stdout);
	
	scanf("%d %d", &n, &s1);
	
	s = n*(n-1)/2;
				
	int i, j, k = 0, crt;
	//for(i = 0; i <= s; ++i)
		a[1-k][0] = 1;
		
	for(i = 2; i <= n; ++i)
	{
		memset(a[k], 0, sizeof(a[k]));
		for(j = 0; j <= s; ++j)
		{
			a[k][j] = a[1-k][ abs(j-(i-1)) ] + a[1-k][ abs(j+(i-1)) ];
			a[k][j] %= MOD;
		}
		k = 1-k;
	}
	printf("%d\n", a[1-k][s1]);
	return 0;
}