Cod sursa(job #220377)

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

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

#define a1 (a1 + 650)
#define a2 (a2 + 650)
#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 + 1] != -1) a2[j] += a1[j + 1];
		//	a2[j] %= MOD;
			if (a1[j - 1] != -1) a2[j] += a1[j - 1];
		//	a2[j] %= MOD;
		}
		for (j = -m - 1; j <= m + 1; j++) a1[j] = a2[j], a2[j] = 0;
	}

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