Pagini recente » Cod sursa (job #242306) | Cod sursa (job #2944947) | Cod sursa (job #308577) | Cod sursa (job #1233912) | Cod sursa (job #33589)
Cod sursa(job #33589)
using namespace std;
#include <cstdio>
#include <cassert>
#include <string>
#define FIN "1-sir.in"
#define FOUT "1-sir.out"
#define NMAX 257
#define SMAX 257*128
int s1[SMAX], s2[SMAX], N, S;
const int prim = 194767;
int
main ()
{
int jj;
freopen (FIN, "rt", stdin);
freopen (FOUT, "wt", stdout);
scanf ("%d%d", &N, &S);
s1[0] = 1;
for (int i = 2; i <= N; ++ i)
{
for (int j = 0; j <= N*(N-1)/2; ++ j)
{
jj = (j - (i-1)) > 0 ? (j - (i-1)) : (-j + (i-1));
s2[j] = s1[jj] + s1[j + (i-1)];
if (s2[j] > prim)
s2[j] -= prim;
}
for (int j = 0; j <= N*(N-1)/2; ++ j)
{
assert (s2[j] <= prim);
s1[j] = s2[j];
}
}
S < 0 ? S = -S : S = S;
printf ("%d\n", s1[S]);
return 0;
}