Cod sursa(job #7779)
Utilizator | Data | 22 ianuarie 2007 17:31:22 | |
---|---|---|---|
Problema | 1-sir | Scor | 100 |
Compilator | c | Status | done |
Runda | Arhiva de probleme | Marime | 0.46 kb |
#include <stdio.h>
#define MAXS 32768
#define MOD 194767
int N, S, nr[MAXS];
int main()
{
int i, j;
freopen("1-sir.in", "rt", stdin);
freopen("1-sir.out", "wt", stdout);
scanf("%d %d", &N, &S);
S = N * (N - 1) / 2 - S;
if (S < 0 || (S & 1))
{
printf("0\n");
return 0;
}
S /= 2;
nr[0] = 1;
for (i = 1; i < N; i++)
for (j = S; j >= i; j--)
{
nr[j] += nr[j - i];
nr[j] %= MOD;
}
printf("%d\n", nr[S]);
return 0;
}