hdu2079+母函数

来源:互联网 发布:linux 红色闪烁 编辑:程序博客网 时间:2024/06/07 22:43

传送门:

http://acm.hdu.edu.cn/showproblem.php?pid=2079

#include <bits/stdc++.h>using namespace std;struct node {int grades;int num;};int main(){int ncase;cin>>ncase;while(ncase--){int n,k;node res[10];cin>>n>>k;for(int i=1;i<=k;i++)cin>>res[i].grades>>res[i].num;int c1[45],c2[45];for(int i=0;i<=n;i++){c2[i]=0;c1[i]=0;}for(int i=0,t=0;i<=n&&t<=res[1].num;i+=res[1].grades,t++){c1[i]=1;} for(int i=2;i<=k;i++){for(int j=0;j<=n;j++)for(int m=0,t=0;m+j<=n&&t<=res[i].num;m+=res[i].grades,t++)c2[j+m]+=c1[j];for(int j=0;j<=n;j++){c1[j]=c2[j];c2[j]=0;}}cout<<c1[n]<<endl;}return 0;}


原创粉丝点击