母函数很有意思
参考资料:http://www.wutianqi.com/?p=596
#include "stdio.h"
#include "string.h"
void main(){
int c;
int n, k;
int a[9], b[9];
int i, j, z, p;
int ccc[41];
int t[41];
freopen("in.txt", "r", stdin);
scanf("%d", &c);
while(c--){
scanf("%d %d", &n, &k);
for(i=1; i<=k; i++)
scanf("%d %d", a+i, b+i);
memset(ccc, 0, sizeof(ccc));
for(i=0; i<=a[1]*b[1]; i+=a[1]) ccc[i] = 1;
for(z=2; z<=k; z++){
memset(t, 0, sizeof(t));
for(j=0; j<=a[z]*b[z]; j+=a[z]){
if(j>n) break;
for(p=0; p+j<=n; p++)
t[p+j] += ccc[p];
}
for(i=0; i<=n; i++) ccc[i] = t[i];
}
printf("%d\n", ccc[n]);
}
}