Cod sursa(job #163561)

Utilizator hadesgamesTache Alexandru hadesgames Data 22 martie 2008 14:46:50
Problema Sandokan Scor 25
Compilator cpp Status done
Runda preONI 2008, Runda Finala, Clasele 5-8 Marime 1.02 kb
#include <stdio.h>
int  a[5001],n,k,i,j,t,b[3][5000];

int main()
{
    FILE *in,*out;
    in=fopen("sandokan.in","r");
    out=fopen("sandokan.out","w");
    fscanf(in,"%d%d",&n,&k);
    for (i=1;i<=n;i++)
    {
        fscanf(in,"%d",&a[i]);
    }
    if (k>=n)
    {
        fprintf(out,"1\n");
        fclose(in);
        fclose(out);
        return 0;
    }
    if(k==n-1)
    {
        fprintf(out,"%d\n",n-1);
        fclose(in);
        fclose(out);
        return 0;
    }
    b[1][0]=1;
    for (i=1;i<n;i++)
    {
        for (j=1;j<=k;j++)
            b[2][j]=b[1][j-1]+b[1][j];
        for (j=1;j<=k;j++)
            b[1][j]=b[2][j]%2000003;
           /* if (j>=i||i==1||j==1)
                b[i][j]=1;
            else
            {
                b[i][j]=0;
                for (t=1;t<=j;t++)
                    b[i][j]+=b[i-j][j];
                b[i][j]%=2000003;
            }  */
    }
    fprintf(out,"%d\n",b[1][k-1]);
    fclose(in);
    fclose(out);
    return 0;
}