Cod sursa(job #239263)

Utilizator raduzerRadu Zernoveanu raduzer Data 4 ianuarie 2009 15:00:55
Problema 1-sir Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <cstdio>

const int MAX_N = 257;
const int MOD = 194767;

int n, s;
int d[2][MAX_N * (MAX_N - 1) / 2];

int main()
{
	int i, j, p;
	freopen("1-sir.in", "r", stdin);
	freopen("1-sir.out", "w", stdout);
	
	scanf("%d %d", &n, &s);
	if (s < 0) s = s * (-1);
	
	d[1][0] = 1;
	for (i = 2, p = 0; i <= n; ++i, p = 1 - p)
		for (j = 0; j <= s; ++j)
		{
			d[p][j] = ((i - 1 < j) ? d[1 - p][j - (i - 1)] : d[1 - p][(i - 1) - j]) % MOD;
			d[p][j] = (d[p][j] + d[1 - p][j + (i - 1)]) % MOD;
		}
		
	printf("%d\n", d[1 - p][s]);
}