点击打开链接
简单母函数,模版直接搞定。。
#include"stdio.h" int main() { int c1[41],c2[41],aa[81]; int t,i,j,k,n,m,a[9],b[10]; scanf("%d",&t); while(t--) { scanf("%d%d",&n,&m); for(i=0;i<m;i++) scanf("%d%d",&a[i],&b[i]); for(i=0;i<=n;i++) c1[i]=c2[i]=0; c1[0]=1; for(i=0;i<m;i++) { for(j=0;j<=n;j++) { for(k=0;j+k*a[i]<=n&&k<=b[i];k++) c2[j+k*a[i]]+=c1[j]; } for(j=0;j<=n;j++) { c1[j]=c2[j];c2[j]=0; } } printf("%d\n",c1[n]); } return 0; }