Pagini recente » Cod sursa (job #1568322) | Cod sursa (job #2670701) | Cod sursa (job #288809) | Cod sursa (job #2501775) | Cod sursa (job #1873069)
#include<stdio.h>
using namespace std;
const int N = 260, S = 34000, R = 194767;
int a[S], b[S];
void schimba (int n)
{
int i;
for (i = 0; i <= n; i++)
a[i] = b[i];
}
int abs (int x)
{
if (x < 0)
return -x;
return x;
}
int main ()
{
FILE *in, *out;
in = fopen ("1-sir.in", "r");
out = fopen ("1-sir.out", "w");
int n, sCerut, i;
fscanf (in, "%d%d", &n, &sCerut);
int sMax = n * (n - 1) / 2, lim;
a[0] = 1;
int j;
for (i = 1; i < n; i++)
{
lim = i * (i + 1) / 2;
for (j = 0; j <= lim; j++)
{
if (j - i >= 0)
b[j] = a[j - i];
else
b[j] = a[i - j];
if (j + i <= sMax)
{
b[j] += a[j + i];
b[j] %= R;
}
}
schimba (sMax);
}
fprintf (out, "%d", a[abs(sCerut)]);
return 0;
}