分石头
来源:互联网 发布:浮生知星辰txt百度云 编辑:程序博客网 时间:2024/06/10 19:01
实验任务
有一堆石头,共有 m 个,现在要你把他们分成小于等于 n 堆,一共有多少种不同的分法。
数据输入
输入第一行包括一个正整数 T(T<=10),接下来共有 T 组数据,每组数据只有一行,每行有两个正整数,m 和 n(m,n<=20)。
数据输出
每组数据输出一个数 sum,表示 sum 种不同的分法。
输入示例
1
7 3
输出示例
8
解题思路
只有1堆或没有石头,只有1种分法;
当 石头个数 少于 堆数, 按石头个数 分堆;
其余情况:
将m个石头分成n-1堆(保证有空堆)+ 先将n个石头分成n堆,剩下的m-n个石头再分成n堆(保证没有空堆)
参考代码
#include<stdio.h> int f(int m,int n){ if(n ==1||m==0) return 1; if(m<n) return f(m,m); return f(m,n-1)+f(m-n,n); } int main(){ int T,m,n,i; while (~scanf("%d",&T)){ for(i = 0;i < T;i++){ scanf("%d%d",&m,&n); printf("%d\n",f(m,n)); } } return 0; }
0 0
- 分石头
- 3.取石头 (15分)
- 36.取石头 (10分)
- ctguoj-取石头 (15分)
- C 语言程序设计实践 6.5 分石头
- 京东笔试之石头分堆
- 石头
- 4.6组队赛H题分石头问题,推导,规律
- 2017京东实习生笔试题之石头分堆
- 校招编程题(一) 石头分堆问题之n个石头分成m堆
- 石头记
- 石头记
- 石头口门冬捕记
- 石头汤
- 石头游戏
- 石头合并
- 跳石头
- 跳石头
- 炫酷CSS图片切换动画
- 【Unity】减少GC回收
- iOS Images.xcassets 的使用
- du 命令详解
- IOS-九宫格坐标计算
- 分石头
- 坐标离散化技巧
- iOS:编译错误 NSArrayM: 0x7fdbe0c70600> was mutated while being enumerated
- tableview点击获取该行cell
- CentOS安装最新git
- Query常用的元素查找方法总结
- 面向服务与微服务架构
- 使用AJAX 加 iframe 实现表单无刷新提交并上传文件
- HDU 1856 More is better (并查集合并)