Cod sursa(job #164876)
Utilizator | Mari n marin | Data | 24 martie 2008 21:51:18 |
---|---|---|---|
Problema | Sandokan | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
#define DIM 1000000
#define MOD 2000003
int v[DIM];
int n,k;
int comb(int n, int k){
int i,j;
v[0]=1;
v[1]=1;
for (i=2;i<=n;i++) {
v[i]=1;
for (j=i-1;j>0;j--)
v[j]=(v[j]+v[j-1])%MOD;
}
return v[k];
}
int main(){
FILE *f = fopen("sandokan.in","r");
fscanf(f,"%d %d",&n,&k);
int s = 1;
while (n>=k) {
s = (s*comb(n-1,k-1))%MOD;
n=n-k+1;
}
fclose(f);
FILE *g = fopen("sandokan.out","w");
fprintf(g,"%d",s);
fclose(g);
return 0;
}