Pagini recente » Cod sursa (job #2320804) | Cod sursa (job #988888) | Cod sursa (job #2252136) | Cod sursa (job #2151535) | Cod sursa (job #8334)
Cod sursa(job #8334)
#include<stdio.h>
#define NMAX 256
#define Q 194767
int V[2][NMAX * (NMAX + 1) + 15], N, S;
int main()
{
int i, j, c, ok;
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
scanf("%d%d", &N, &S);
c = N * (N + 1) / 2;
V[0][0] = 1;
for(i = 1, ok = 1; i < N; i++, ok = !ok)
for(j = 0; j <= (N * (N + 1) / 2); j++)
{
V[ok][j] = 0;
if(j - i >= -(i * (i + 1) / 2)) V[ok][j] += V[!ok][ab(j - i)];
if(j + i <= (i * (i + 1) / 2)) V[ok][j] += V[!ok][j + i], V[ok][j] %= Q;
}
if(S < 0) S = -S;
if(S > c)
printf("0\n");
else printf("%d\n", V[!ok][S + c]);
return 0;
}