Pagini recente » Cod sursa (job #2357491) | Cod sursa (job #15004) | Cod sursa (job #2619971) | Cod sursa (job #1103203) | Cod sursa (job #6916)
Cod sursa(job #6916)
#include <cstdio>
using namespace std;
const char iname[] = "1-sir.in";
const char oname[] = "1-sir.out";
#define MAX_N 77
#define lim MAX_N * MAX_N
#define modulo 194767
int cnt[2][MAX_N * MAX_N * 2][MAX_N * 2];
int main(void) {
printf("%d\n", sizeof(cnt) / 1024);
freopen(iname, "r", stdin);
int N;
int S;
scanf("%d %d", & N, & S);
int step = 0;
cnt[step][lim][MAX_N] = 1;
for (int i = step = 1; i < N; ++i) {
int li = -i*(i+1)/2;
int ls = +i*(i+1)/2;
for (int j = li; j <= ls; ++j)
for (int k = -i; k <= +i; ++k)
cnt[step][j + lim][k + MAX_N] = (cnt[1 ^ step][j - k + lim][k - 1 + MAX_N] +
cnt[1 ^ step][j - k + lim][k + 1 + MAX_N]) % modulo;
step ^= 1;
}
int Res = 0;
for (int k = -N; k <= +N; ++k)
Res = (Res + cnt[1 ^ step][S + lim][k + MAX_N]) % modulo;
freopen(oname, "w", stdout);
printf("%d\n", Res);
return 0;
}