九度OJ 1160:放苹果 (DFS)
来源:互联网 发布:火影忍者网络连接异常 编辑:程序博客网 时间:2024/05/29 09:20
- 题目描述:
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
- 输入:
第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。
- 输出:
对输入的每组数据M和N,用一行输出相应的K。
- 样例输入:
17 3
- 样例输出:
8
- 来源:
- 2011年北京大学计算机研究生机试真题
思路:
DFS可解。
由于盘子是一样的,不能用组合数学中的组合数解。
代码:
#include <stdio.h> #define T 20 int apple(int m, int n, int max){ if (m < 0) return 0; if (n == 1 && m > max) return 0; if (n == 1 && m <= max) return 1; int sum = 0; for (int i=max; i>=0; i--) sum += apple(m-i, n-1, i); return sum;} int main(void){ int t, i; int m[T], n[T]; int sum; while (scanf("%d", &t) != EOF) { for(i=0; i<t; i++) { scanf("%d%d", &m[i], &n[i]); sum = apple(m[i], n[i], m[i]); printf("%d\n", sum); } } return 0;}/************************************************************** Problem: 1160 User: liangrx06 Language: C Result: Accepted Time:0 ms Memory:912 kb****************************************************************/
0 0
- 九度OJ 1160:放苹果 (DFS)
- 九度 oj 题目1160:放苹果
- 九度OJ—题目1160:放苹果
- 九度1160:放苹果(简单dp)
- 华为OJ(放苹果)
- 九度oj 1120 递归(dfs)
- 九度 Online Judge 算法 刷题 题目1160:放苹果
- POJ 1664 放苹果(dfs)
- hdu1664 放苹果(经典简单dfs)
- POJ1664:放苹果(DFS)
- 放苹果(组合+DFS)
- 666:放苹果 dfs
- 递归入门(九) ---- 放苹果
- 【华为oj】放苹果
- oj 1018 放苹果
- 华为oj 放苹果
- 华为oj 放苹果
- 【华为 OJ】 放苹果
- 往EditText中添加图标的简单方法
- apache.commons.configuration.PropertiesConfiguration实例
- Qt练习之文件
- POJ 3026 Borg Maze (Prim)
- 【计算机系统知识】校验码和数据表示
- 九度OJ 1160:放苹果 (DFS)
- Swift语言:distance、advance函数更改
- java多线程
- C++中的const
- ld: 7 duplicate symbols for architecture x86_64
- Linux C 线程池
- Handler 引起的内存泄露
- xcode 下载地址 (复制粘贴到迅雷里面就可以了,最好买个几小时的迅雷会员这样快些)
- 输入框的展示