Cod sursa(job #330343)

Utilizator doru.nituNitu Doru Constantin doru.nitu Data 9 iulie 2009 17:12:06
Problema Sandokan Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.23 kb
#include<stdio.h>

int a[5003],b[5003],i,j,c[5003],n,n1,k,rez,k1;

int main()
{ 
    freopen("sandokan.in","r",stdin);
    freopen("sandokan.out","w",stdout);
    
    scanf("%d %d",&n,&k);
    n1=n;
    while(n>=k) { c[++j]=n;
                  n=n-k+1;
                }
    k1=j;            
    a[0]=1;
    rez=1;
    for(i=1;i<=n1;i++)  { for(j=1;j<=i;j++)   { b[j]=(a[j-1]+a[j])%2000003;
                                               if(i==c[k1]&&j==k&&k1) { rez*=b[j];
                                                                            rez=rez%2000003;
                                                                            k1--;
                                                                          }   
                                            }   
                         for(j=1;j<=i;j++) { a[j]=b[j];                   
                                             b[j]=0;
                                           } 
                                           
                       }   
    printf("%d\n",rez); 
    fclose(stdin);
    fclose(stdout);
    return 0;
}