Cod sursa(job #16660)

Utilizator fireatmyselfBogdan-Alexandru Stoica fireatmyself Data 13 februarie 2007 20:37:41
Problema 1-sir Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <stdio.h>
#include <math.h>
#define NMAX (1<<16)
#define MOD 194767
#define min(a, b) ((a) < (b) ? (a):(b))

int A[2][NMAX+10], N, S;

int main()
{
        int i, j, ind1, ind2, s = 0, d = 1, m;

        freopen("1-sir.in", "r", stdin);
        scanf("%d %d", &N, &S);
        S = abs(S);

        A[0][0] = 1;
        for (i = 2; i <= N; i++)
        {
                m = min(i*(i-1)/2, S);
                for (j = 0; j <= m; j++)
                {
                        ind1 = abs(j-i+1); ind2 = j+i-1;
                        A[d][j] = (A[s][ind1]+A[s][ind2])%MOD;
                }
                s = (s+1)&1; d = (d+1)&1;
        }

        freopen("1-sir.out", "w", stdout);
        printf("%d\n", A[s][S]);

        return 0;
        
}