2 3 5 4 8
1 2
<span style="font-size:14px;">#include<stdio.h> int main() { int t; scanf("%d",&t); while(t--) { int i,j,k,n,m,s=0; scanf("%d%d",&n,&m); for(i=0;i<=m/5;i++) { for(j=0;j<=m/2;j++) { k=n-i-j; if(k>=0&&k+2*j+5*i==m) s++; } } printf("%d\n",s); } return 0; }</span>母函数需要借助二维数组,代码如下:
<span style="font-size:14px;">#include<stdio.h> #include<string.h> int c1[110][110],c2[110][110]; int main() { int i,j,k,l,n,m,t; scanf("%d",&t); while(t--) { int sum=0; scanf("%d%d",&n,&m); memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2)); for(i=0;i<=n;i++) { c1[i][i]=1; } for(i=2;i<=5;i+=3) { for(j=0;j<=m;j++) for(k=0;k*i+j<=m&&k<=n;k++) { for(l=0;l+k<=n;l++) c2[k*i+j][k+l]+=c1[j][l]; } for(j=0;j<=m;j++) { for(k=0;k<=n;k++) { c1[j][k]=c2[j][k]; c2[j][k]=0; } } } printf("%d\n",c1[m][n]); } return 0; } </span>
杭电 2566(母函数 暴力),布布扣,bubuko.com
原文地址:http://blog.csdn.net/ice_alone/article/details/38491523