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

Problem Description
又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合。你来帮帮他吧。(xhd认为一样学分的课没区别)
Input
输入数据的第一行是一个数据T,表示有T组数据。
每组数据的第一行是两个整数n(1 <= n <= 40),k(1 <= k <= 8)。
接着有k行,每行有两个整数a(1 <= a <= 8),b(1 <= b <= 10),表示学分为a的课有b门。
Output
对于每组输入数据,输出一个整数,表示学n个学分的组合数。

Sample Input

2
2 2
1 2
2 1
40 8
1 1
2 2
3 2
4 2
5 8
6 9
7 6
8 8

Sample Output

2
445
时间复杂度:$O(2 ^ {b * k})$
代码:

#include <bits/stdc++.h>
using namespace std;int n, k;
int a[10], b[10];
int cnt;void dfs(int score, int x) {if(score > n) {return;}if(score == n) {cnt ++;return;}if(x == k + 1) {return;}for(int i = 0; i <= b[x]; i ++) {dfs(score + a[x] * i, x + 1);}return ;
}int main() {int T;while(~scanf("%d", &T)) {for(int i = 1; i <= T; i ++) {scanf("%d %d", &n, &k);for(int j = 1; j <= k; j ++)scanf("%d %d", &a[j], &b[j]);cnt = 0;dfs(0, 1);printf("%d\n", cnt);}}return 0;
}

  

转载于:https://www.cnblogs.com/zlrrrr/p/9465199.html

HDU 2079 选课时间相关推荐

  1. 杭电ACM hdu 2079 选课时间 (模板)

    Problem Description 又到了选课的时间了,xhd看着选课表发呆,为了想让下一学期好过点,他想知道学n个学分共有多少组合.你来帮帮他吧.(xhd认为一样学分的课没区别)   Input ...

  2. HDU 2079 选课时间(题目已修改,注意读题) 母函数 || 多重背包

    今天做这题才知道原来母函数的原型不是从第二个括号开始,那不过是优化而已,除了1^n,2^n那种类型可以从2开始外其他都要从1开始.好了,上代码吧. #include<stdio.h> in ...

  3. HDU 2152 选课时间(题目已修改,注意读题) (母函数)

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  4. 母函数+例题(hdu 2079+hdu 2082)

    母函数+例题(hdu 2079+hdu 2082) 虽然ACM的确有点力不从心,但是还是贵在坚持,继续啃啃算法..... 昨天一个下午学了学母函数,离散数学+幂级数,只能说nb- 看了半天的原理,结果 ...

  5. HDU-2079 选课时间(题目已修改,注意读题) -母函数

    选课时间(题目已修改,注意读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. HDU2079 选课时间【母函数】

    选课时间 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissi ...

  7. HDU 2079-课程时间(生成函数)

    课程时间(标题已被修改,注意阅读题) Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Other ...

  8. 【hdoj_2079】选课时间(母函数)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2079 此题采用母函数的知识求解,套用母函数模板即可: http://blog.csdn.net/ten_s ...

  9. hdu 2078 复习时间

    复习时间 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

最新文章

  1. 《系统集成项目管理工程师》必背100个知识点-78配置项的版本控制
  2. SwiftUI之深入解析高级动画的几何效果GeometryEffect
  3. 实验6_MPEG音频编码实验
  4. 流线动态图python_Node.js Stream(流)
  5. 美国组建半导体工作组或与中国推进海外并购冲突
  6. jdbctemplate mysql blob_JdbcTemplate 操作Oracle Blob
  7. html js显示文字乱码怎么解决,javascript中汉字显示乱码怎么解决?
  8. idea git push 码云: Remote: [31mYou do not have permission to push to the repository via HTTPS
  9. Python爬取——国家统计局省份加城市 并写入数据库
  10. EDEM颗粒堆积fluent meshing网格生成
  11. VMware 扩展硬盘大小提示 指定的虚拟磁盘需要进行修复
  12. joomla速度优化_WordPress v Joomla:搜索引擎优化
  13. 数学、键盘符号和时间复杂度的英语术语及表述方法(编程,标识符,按键,空间复杂度,指数,对数,模运算)
  14. 听觉能力类毕业论文文献有哪些?
  15. unity讲解(入门)
  16. IMDB影评的情感分析任务:双层bi-LSTM模型(双向LSTM)
  17. Scala - 使用转义字符 \\ 与 | 分割字符
  18. 【无标题】神马TV(前端apk文件_后端苹果cms v10)
  19. QQ不加好友临时会话聊天代码
  20. 手机通过ESP8266(WiFi)控制stm32f103c8t6的洒水小车

热门文章

  1. Swift实战-QQ在线音乐(第二版)
  2. 解决VirtualBox 上的XP 关机时重启 , 启动时蓝屏 ,点击电源选项蓝屏
  3. 安卓开发8-WebView支持文件上传
  4. InitializeComponent()有什么作用?
  5. R语言如何画个性化词云图
  6. 计算机仿真和vr的区别,AR对比VR有何不同?你能分清楚他们的区别么
  7. php获取访问量文本形式,php利用用文本统计访问量的方法图文详解
  8. debian10新建文档_Debian 10(Buster)安装过程图文详解
  9. css中的代码图标,认识CSS中字体图标(示例代码)
  10. bmp和png读取速率和处理速率比较