3 1 1 10 2 954 723
1 45 3557658
组合数学 其实是递推哦
C[N][K]=C[N-1][K-1]+C[N-1][K];
C[N][K]=N!/((N-M)!*M!)
C[N-1][K-1]=(N-1)!/((N-M)!*(M-1))
C[N-1][K]=(N-1)!/((N-M-1)!*M!)
ACcode:
#include <cstdio> #include <cstring> #define maxn 1002 #define mod 10000003 int c[maxn][maxn]; int main(){ memset(c,0,sizeof(0)); c[0][0]=1; for(int i=1;i<maxn;++i){ c[i][0]=1; c[i][i]=1; for(int j=0;j<i;++j){ c[i][j]=(c[i-1][j-1]+c[i-1][j])%mod; } } int n,k; int loop; scanf("%d",&loop); while(loop--){ scanf("%d%d",&n,&k); printf("%d\n",c[n][k]); } return 0; }