Pagini recente » Cod sursa (job #2987437) | Cod sursa (job #2072702) | Cod sursa (job #31619) | Cod sursa (job #3135138) | Cod sursa (job #41926)
Cod sursa(job #41926)
#include <stdio.h>
#include <string.h>
#define INPUT "1-sir.in"
#define OUTPUT "1-sir.out"
#define MAXN 257
#define MAX 32640
#define CONST 194767
int N, S;
int rez[MAX + 1], rez2[MAX + 1];
int main()
{
freopen(INPUT, "r", stdin);
scanf("%d %d", &N, &S);
int i, j;
if( S < 0) S = -S;
rez[0] = 1;
for(i = 2; i <= N; ++i)
{
memset(rez2, 0, sizeof(rez2));
for(j = 0; j <= MAX; ++j)
{
if(j + (i-1) <= MAX) rez2[j] = (rez2[j] + rez[j + (i-1)]) % CONST;
if(j - (i-1) >= 0) rez2[j] = (rez2[j] + rez[j - (i-1)]) % CONST;
else rez2[j] = (rez2[j] + rez[(i-1) - j]) % CONST;
}
memcpy(rez, rez2, sizeof(rez2));
}
freopen(OUTPUT, "w", stdout);
printf("%d\n", rez2[S]);
return 0;
}