Cod sursa(job #169364)

Utilizator andrei-alphaAndrei-Bogdan Antonescu andrei-alpha Data 1 aprilie 2008 17:29:50
Problema Sandokan Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.49 kb
#include <stdio.h>
#define R 2000003
int b[5000],a[5000];
int  n,k,i,j,t,x;
int main()
{
    freopen("sandokan.in", "r",stdin);
    freopen("sandokan.out", "w",stdout);
    scanf("%d%d",&n,&k);
    a[0]=1; x=n;
    for (i=1;i<n;i++)
    {
        for (j=1;j<=k;j++)
            b[j]=a[j-1]+a[j];
        for (j=1;j<=k;j++)
            a[j]=b[j]%R;
    }
    while(x>=k)
	    x=x%k+x/k;
    k=1;
    for (i=n;i>n-x;i--)
    { 
        k*=i;
	    k%=R;
    }
	printf("%d\n", a[x-1]);
    return 0;
}