简单母函数,模版直接搞定。。
#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;
}