HDU 1799 循环多少次?
原题链接:点击此处
解题思路:
由题意可知,当有K次for循环时,有如下公式 : ,即满足杨辉三角的组合数公式。
那么便可使用杨辉三角的方法来运算:
源代码:
#include <stdio.h> int a[2005][2005]; int op()//杨辉三角模板 { for(int i=0;i<2005;++i) { a[i][0]=a[i][i]=1; for(int j=1;j<i;++j) { a[i][j]=(a[i-1][j]+a[i-1][j-1])%1007; } } } int main() { int t,m,n; op(); scanf("%d",&t); while(t--) { scanf("%d %d",&m,&n); printf("%d\n",a[n][m]); } return 0; }