#包括#包括使用命名空间标准;//变量int存储[100][100];int网格[100][100];布尔校验[100][100];/**********************************************在线二项式系数代码************************************************//***计算二项式系数$\choose{n,k}$,即*不同的$k$元素集,可以通过替换从*$n$元素的填充。**@tparam T*数字类型。默认为unsigned long。*@参数n*人口规模。*@参数k*在不更换的情况下取样的元件数量。**@返回*二项式系数$\选择{n,k}$。**@注释*修改日期:http://etceterology.com/fast二项式效率*/无符号长选择(int n,int k){整数i;整数b;如果(n<0或k<0){返回0;}如果(0==k|n==k){返回1;}如果(k>n){返回0;}如果(k>(n-k)){k=n-k;}如果(1==k){返回n;}b=1;对于(i=1;i<=k;++i){b*=(n-(k-i));如果(b<0),返回-1;/*溢流*/b/=i;}返回b;}/**********************************************在线二项式系数代码************************************************/int P(int n,int k){无符号长S_temp=0;无符号长P_temp=0;//负值返回0如果(n<0或k<0){//cout<<“P(-0,-0)”<0和k>0){if(检查[n-1][k]==true,检查[n][k-1]==true){P_temp=存储[n-1][k];S_temp=存储[n][k-1];存储[n][k]=选择(n+k+1,k)+选择(n+4k+1,k+1)+P_temp+S_temp;存储[k][n]=存储[n][k];检查[n][k]=真;检查[k][n]=真;返回存储[n][k];}}//当值未知时递归计算。更新检查矩阵和存储矩阵。存储[n][k]=选择(n+k+1,k)+选择(n+k+1,k+1)+P(n-1,k)+P(n,k-1);存储[k][n]=存储[n][k];检查[n][k]=真;检查[k][n]=真;返回存储[n][k];}整型main(){//初始化表对于(int k=0;k<100;k++){for(int s=0;s<100;s++){存储[k][s]=0;网格[k][s]=0;检查[k][s]=假;}}无符号长输入1;无符号长输入2;while(真){cout公司<>input1>>input2;P(输入1,输入2);if(input1+input2>0){for(int k=0;k-->