HDU ACM 1799 循环多少次?

利用组合公式C(n,m)=C(n-1,m)+C(n-1,m-1)。也就是从n个数里面选择m个数、按递增方式放在每一层循环。

#include<iostream>using namespace std;int a[2001][2001];int main() {int T,m,n,i,j;a[1][1]=1;//组合公式Cn(m)=C(n-1,m)+C(n-1,m-1)for(i=2;i<=2000;i++){a[1][i]=i%1007;a[i][i]=1;}for(i=2;i<=2000;i++)//打表for(j=i+1;j<=2000;j++)a[i][j]=(a[i-1][j-1]+a[i][j-1])%1007;cin>>T;while(T–){cin>>m>>n;cout<<a[m][n]<<endl;}return 0;}

,如果没法忘记他,就不要忘记好了。真正的忘记,是不需要努力的。

HDU ACM 1799 循环多少次?

相关文章:

你感兴趣的文章:

标签云: