杭电hdu 2079 选课时间(题目已修改,注意读题) 母函数

来源:互联网 发布:php 工厂模式 实例 编辑:程序博客网 时间:2024/04/30 17:32

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

母函数简单题,注意条件的控制

#include <stdio.h>#include <string.h>int c1[41], c2[41];int num[9];void init(int total, int k){int i, j, p;memset(c1, 0, sizeof(c1));memset(c2, 0, sizeof(c2));c1[0] = 1;for(i = 1; i <= k; i ++){//母函数for(j = 0; j <= total; j ++){for(p = 0; p<=num[i]&&p*i+j<=total; p ++){c2[p*i+j] += c1[j];}}for(j = 0; j <= total; j ++){c1[j] = c2[j];c2[j] = 0;}}}int main(){//freopen("input.txt","r",stdin);int t;int total, k, i, a, b;while(scanf("%d", &t)!=EOF){while(t--){scanf("%d%d", &total, &k);for(i = 1; i <= k; i ++){scanf("%d%d", &a, &b);num[a] = b;}init(total, k);printf("%d\n", c1[total]);}}return 0;}