Binomial Coeffcients
Time Limit: 1000MS Memory limit: 65536K
题目描述
![](https://i-blog.csdnimg.cn/blog_migrate/ece56fdd0bec658897afe9dd35b24cbe.png)
输入
![](https://i-blog.csdnimg.cn/blog_migrate/ab10df9b819f1c7c4c001661ddb6c3ea.png)
输出
![](https://i-blog.csdnimg.cn/blog_migrate/4ec56925bb17a2254845de94a3630d8c.png)
示例输入
3 1 1 10 2 954 723
示例输出
1 45 3557658
提示
来源
山东省第二届ACM大学生程序设计竞赛
刚开始以为是一道高精度问题,没做出来。后来才知道,原来用杨辉三角(组合数)。
#include<stdio.h>
#include<string.h>
#include<math.h>
int a[1010][1010];
int main()
{
int t,n,m,i,j;
memset(a,0,sizeof(a));
a[0][0]=1;
for(i=1; i<=1000; i++)
{
a[i][0]=1;
for(j=1; j<=i; j++)
{
a[i][j]=a[i-1][j]+a[i-1][j-1];
if(a[i][j]>10000003)
a[i][j]=a[i][j]-10000003;
}
}
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
printf("%d\n",a[n][m]);
}
return 0;
}