Cod sursa(job #164665)

Utilizator filipbFilip Cristian Buruiana filipb Data 24 martie 2008 17:43:53
Problema Sandokan Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <stdio.h>

#define MOD 2000003
#define aduna(x, y) (((x += y) >= MOD) ? (x -= MOD) : (0))

int N, K, Comb[5005];

int main(void)
{
        int i, j;
        
        freopen("sandokan.in", "r", stdin);
        freopen("sandokan.out", "w", stdout);

        scanf("%d %d", &N, &K);

        Comb[0] = 1;
        for (i = 1; i < N; ++i)
        {
                for (j = i; j; --j)
                    aduna(Comb[j], Comb[j-1]);
                Comb[0] = 1;
        }
        printf("%d\n", Comb[(N % (K-1)) ? (N % (K-1)-1) : (K-2)]);

        return 0;
}