代码:
#include<cstdio> #include<cstring> using namespace std; int main() { int t; scanf("%d",&t); while(t--) { int n,k; int a[9],b[9]; scanf("%d%d",&n,&k); for(int i=1; i<=k; i++) { scanf("%d%d",&a[i],&b[i]); } int c1[45],c2[45]; memset(c1,0,sizeof(c1)); memset(c2,0,sizeof(c2)); c1[0]=1; for(int i=1; i<=k; i++) { for(int j=0; j<=n; j++) { for(int kk=0; kk<=a[i]*b[i]&&j+kk<=n; kk+=a[i]) { c2[j+kk]+=c1[j]; } } for(int j=0; j<=n; j++) { c1[j]=c2[j]; c2[j]=0; } } printf("%d\n",c1[n]); } return 0; }