Pagini recente » Cod sursa (job #1672594) | Cod sursa (job #445480) | Cod sursa (job #3289527) | Cod sursa (job #1513511) | Cod sursa (job #1988554)
#include <stdio.h>
using namespace std;
int n, s, d[2][67000];
int mij = 33000;
int abs(int a)
{
if(a<0) return -a;
return a;
}
int main()
{
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
scanf("%d%d", &n, &s);
int auxs=abs(s);
if(auxs>32845) printf("0\n");
else
{
d[1][mij]=1;
for(int i=2; i<=n; i++) {
for(int j=-auxs; j<=auxs; j++)
{
if(j-i+1 >= -auxs)
d[i%2][mij+j]+=d[(i-1)%2][mij+j-i+1];
if(j+i-1 <= auxs)
d[i%2][mij+j]+=d[(i-1)%2][mij+j+i-1];
if(d[i%2][mij+j]>=194767)
d[i%2][mij+j]-=194767;
//printf("%d ", d[i][mij+j]);
}
for(int j=-auxs; j<=auxs; j++)
d[(i-1)%2][j+mij]=0;
//printf("\n");
}
printf("%d\n", d[n%2][mij+auxs]);
}
return 0;
}