hdu2079-选课时间
hdu2079
还是母函数的模板
#include<iostream>using namespace std;int main(){int c1[41],c2[41],X[9],T,n,k,a,b,i,j,num,sum;scanf("%d",&T);while(T--){scanf("%d%d",&n,&k);memset(X,0,sizeof(X));for(i=1;i<=k;i++){scanf("%d%d",&a,&b);X[a]=b;}memset(c1,0,sizeof(c1));memset(c2,0,sizeof(c2));for(i=1;i<=8;i++)if(X[i]){for(num=0;num<=X[i];num++)if(num*i<=40)c1[num*i]=1;elsebreak;break;}for(i=i+1;i<=8;i++){if(X[i]){for(j=0;j<=40;j++) //if(c1[j])for(num=0;num<=X[i];num++)if(num*i+j<=40)c2[num*i+j]+=c1[j];else break;for(j=1;j<=40;j++){c1[j]=c2[j];c2[j]=0;}}}printf("%d\n",c1[n]);}return 0;}