Pagini recente » Cod sursa (job #96618) | Cod sursa (job #943846) | Cod sursa (job #2012741) | Cod sursa (job #2950140) | Cod sursa (job #2021548)
#include <cstdio>
using namespace std;
const int nmax = 256;
const int mod = 194767;
int dp[2][nmax*nmax + 1];
int modul(int a) {
if(a > 0)
return a;
return -a;
}
int main() {
freopen("1-sir.in", "r", stdin);
freopen("1-sir.out", "w", stdout);
int n, s, maxim;
scanf("%d%d", &n, &s);
maxim = n * (n + 1) / 2;
if(s > maxim || s < -maxim) {
printf("0\n");
return 0;
}
int l = 1;
dp[0][0] = 1;
for(int i = 2; i <= n; ++ i, l = 1 - l) {
for(int j = 0; j <= maxim; ++ j) {
dp[l][j] = (dp[1 - l][modul(j - (i - 1))] + dp[1 - l][modul(j + (i - 1))]) % mod;
}
}
printf("%d\n", dp[1 - l][s]);
return 0;
}