Cod sursa(job #167198)
| Utilizator | Data | 29 martie 2008 10:32:19 | |
|---|---|---|---|
| Problema | Sandokan | Scor | 15 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.57 kb |
#include<stdio.h>
#define N 2000003
int main () {
freopen("sandokan.in","r",stdin);
freopen("sandokan.out","w",stdout);
int n,k,v[5000],i,a[5000],b[5000],q,p=1,j;
scanf("%d%d",&n,&k);
/*for(i=0;i<n;++i)
scanf("%d",&v[i]);*/
i=0;
--n;--k;
if(k<n/2)
while(k){
a[i]=n;
b[i]=k;
--n;
--k;
++i;
}
else
while(k<n){
a[i]=n;
b[i]=n-k;
--n;
++i;
}
j=i;
for(i=0;i<j;++i)
for(q=0;q<j;++q)
if(a[i]%b[q]==0){
a[i]/=b[q];
b[q]=1;
}
for(i=0;i<j;++i)
p=(p*a[i])%N;
printf("%d\n",p);
return 0;
}
