Cod sursa(job #220383)

Utilizator gabitzish1Gabriel Bitis gabitzish1 Data 10 noiembrie 2008 17:38:09
Problema 1-sir Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>

int n, s, a1[130000], a2[130000];

#define a1 (a1 + 65000)
#define a2 (a2 + 65000)
#define MOD 194767

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

	int i, j, m;
	scanf("%d %d",&n,&s);
	m = (n * (n - 1)) / 2;

	for (i = -m - 1; i <= m + 1; i++) a1[i] = -1;

	a1[0] = 1;

	for (i = 1; i <= n; i++)
	{
		for (j = -m; j <= m; j++)		
		{
			if (a1[j + (i - 1)] != -1) a2[j] += a1[j + (i - 1)];
		//	a2[j] %= MOD;
			if (a1[j - (i - 1)] != -1) a2[j] += a1[j - (i - 1)];
		//	a2[j] %= MOD;
		}
		for (j = -m - 1; j <= m + 1; j++) a1[j] = a2[j], a2[j] = 0;
	}

	printf("%d\n",a1[s] / 2);
	return 0;
}