蓝桥杯算法训练 未名湖边的烦恼
来源:互联网 发布:rust游戏购买知乎 编辑:程序博客网 时间:2024/06/04 01:02
问题描述
每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。
每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)
输入格式
两个整数,表示m和n
输出格式
一个整数,表示队伍的排法的方案数。
样例输入
3 2
样例输出
5
数据规模和约定
每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。
每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)
输入格式
两个整数,表示m和n
输出格式
一个整数,表示队伍的排法的方案数。
样例输入
3 2
样例输出
5
数据规模和约定
m,n∈[0,18]
这是一道dfs问题,下面是我写的代码:
#include <iostream>using namespace std; int count = 0; //统计次数void dfs(int m, int n, int k) {if(!n) { //借鞋的人为0,就可以避免尴尬 count++;return;}if(m != 0) dfs(m-1,n, k+1);//k用来记录可以借鞋的数量,m是还鞋的人 if(n != 0 && k > 0) dfs(m,n-1, k-1);//只有当鞋的数量大于1时,才可以让借鞋的人借鞋 }int main(int argc, char *argv[]) {int m,n;cin >> m >> n;//k为0,是题目的要求,每天下午收工后,常常一双冰鞋都不剩dfs(m,n,0);cout << count << endl;return 0;}
下面贴上大神的代码:
#include <stdio.h>/*可以用二叉树求所有结点的方式来理解 */int FangAn(int m,int n);int main(int argc, const char * argv[]){ int m=0,n=0,s=0; scanf("%d%d",&m,&n); s=FangAn(m, n); printf("%d\n",s); return 0;}int FangAn(int m,int n){ if (m<n) //当还鞋的小于借鞋的时候,鞋就不够借 { return 0; //返回0 } if (n==0) //借鞋的为0,表示鞋就够借 { return 1; //返回1种情况 } //穷举出还鞋和借鞋的人排队的所有可能 return FangAn(m-1, n)+FangAn(m, n-1);}
0 0
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- 算法训练 未名湖边的烦恼
- java的socket-tcp编程中需要注意的东西
- jsp子页面(iframe)获取父页面(在另一个页面中用iframe)元素的方法
- Android studio中TextView改变字体的两种方式(如仿宋、隶书)
- 是从第一次发,不会割
- 读取文件中出现次数最多的字符串
- 蓝桥杯算法训练 未名湖边的烦恼
- Android studio 提示 setup sdk
- MySQL入门之动态SQL工具实现
- LoRaWAN介绍9 安全
- scikit-learn随机森林调参小结
- react-native 错误记录
- php程序员的成长之路
- 图片的压缩
- 《笨办法学python(第三版)》习题1