Cod sursa(job #14301)

Utilizator azotlichidAdrian Vladu azotlichid Data 8 februarie 2007 18:15:08
Problema 1-sir Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <cstdlib>
#include <cstring>

#define SMAX    32768
#define MODULO  194767

int N, S, i, j;
int o[SMAX], no[SMAX];

inline int ABS(int x) { return x >= 0 ? x : -x; }
#define O(x) (ABS(x) < SMAX ? o[ABS(x)] : 0)

int main(void)
{
    freopen("1-sir.in", "r", stdin);
    freopen("1-sir.out", "w", stdout);
    scanf("%d %d", &N, &S);
    memset(o, 0, sizeof(o)), o[0] = 1;
    for (i = 2; i <= N; i ++)
    {
        memset(no, 0, sizeof(no));
        for (j = 0; j <= i * (i - 1) / 2; j ++)
            no[j] = (O(j - i + 1) + O(j + i - 1)) % MODULO;

        memcpy(o, no, sizeof(no));
    }
    printf("%d\n", O(S));
    return 0;
}