作者在 2008-05-13 09:06:01 发布以下内容
http://acm.hdu.edu.cn/showproblem.php?pid=1799
公式推出来以后就是简单题了,呵呵
就是求n! / (m)! / (n-m)! 简单来说就是求C(n)m
#include <stdio.h>
int c[2002][2002] = {0};
int main()
{
int i,j,t,n,m;
for(i=1;i<=2000;i++)
{
c[i][0]=1;
c[i][1]=i%1007;
}
for(i=2;i<=2000; i++)
for(j=2;j<=i;j++)
c[i][j]=(c[i-1][j]%1007+c[i-1][j-1]%1007)%1007; //这是求阶乘的递推公式
scanf("%d",&t);
while (t--)
{
scanf("%d%d",&m,&n);
if (n>=m)
printf("%d\n",c[n][m]);
else
printf("0\n");
}
return 0;
}