2,蓝桥杯_算法训练_未名湖畔的烦恼

问题描述

  每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)

输入格式

  两个整数,表示m和n

输出格式

  一个整数,表示队伍的排法的方案数。

样例输入

3 2

样例输出

5

数据规模和约定

  m,n∈[0,18]

(1)参考一: http://blog.sina.com.cn/s/blog_164474b4b0102wpcc.html

从最简单的开始举例子,找出规律,发现递归公式,编程。

(2)参考二: https://www.cnblogs.com/liuzhen1995/p/6493068.html   下面是思路

共有m个人还鞋,n个人借鞋,记最终排列数为f(m, n)。

现在求m和n的排队情况,具体理解如下:

起始,要去一人还鞋(PS:此时,m = m - 1),还完后,可以选一人还鞋(PS:m = m - 1)或者一人借鞋(PS:n = n - 1)。

那么,f(m , n) = f(m - 1, n) + f(m, n - 1)。这就是求取f(m, n)的递推公式,那么轻易可知当m < n时,f(m, n) = 0;当n = 0时,f(m, 0) = 1。

(3)My代码

import java.util.Scanner;
public class 未名湖畔的烦恼 { //举例子,找规律,发现是递归,得出递归公式public static void main(String[] args) {Scanner sc=new Scanner(System.in);int m=sc.nextInt();int n=sc.nextInt();//本题使用递归来解决,因为每个位置有两种情况,一种是为借鞋的人,一种是为还鞋的人,所以递归处用//f(m-1,n)+f(m,n-1)System.out.println(f(m,n));}public static int f(int m, int n) {if(m<n)          //如果还鞋的小于租鞋的,return返回{return 0;}if(n==0)       //当租鞋的人数为0时,便是一个符合要求的排序,数值加1。{return 1;}return f(m-1, n) + f(m, n-1); //调用递归,递归当前为借鞋或者还鞋}
}

蓝桥杯_算法训练_未名湖畔的烦恼相关推荐

  1. [Java] 蓝桥杯ALGO-122 算法训练 未名湖边的烦恼

    问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩. 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个.现在 ...

  2. 蓝桥杯 ALGO-122 算法训练 未名湖边的烦恼

    问题描述 每年冬天,北大未名湖上都是滑冰的好地方.北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩. 每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个.现在 ...

  3. 蓝桥杯:算法训练 印章 Python

    问题描述 共有n种图案的印章,每种图案的出现概率相同.小A买了m张印章,求小A集齐n种印章的概率. 输入格式 一行两个正整数n和m 输出格式 一个实数P表示答案,保留4位小数. 样例输入 2 3 样例 ...

  4. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  5. 蓝桥杯 试题 算法训练 无聊的逗 C++ 详解 - 未完善

    题目: 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两根一样长的 ...

  6. 蓝桥杯 试题 算法训练 筛选号码 Java

    蓝桥杯 试题 算法训练 筛选号码Java 算法训练 筛选号码 资源限制 时间限制:1.0s 内存限制:512.0MB 问题描述 有n个人围成一圈,顺序排号(编号为1到n).从第1个人开始报数(从1到3 ...

  7. 算法刷题系列(四)蓝桥杯python算法训练3(下)

    上一次的节点选择算法由于春节过年耽搁了,现在重新补上 上篇链接:算法刷题系列(四)蓝桥杯python算法训练3 - 经验教训 在纷繁复杂的使用了列表来暂存数据之后,发现其实可以利用笔者自己不太常用的字 ...

  8. 蓝桥杯 试题 算法训练 无聊的逗

    蓝桥杯 试题 算法训练 无聊的逗 问题描述 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘 ...

  9. 蓝桥杯试题 算法训练 绘制地图

    蓝桥杯试题 算法训练 绘制地图 问题描述 最近,WYF正准备参观他的点卡工厂.WYF集团的经理氰垃圾需要帮助WYF设计参"观"路线.现在,氰垃圾知道一下几件事情: 1.WYF的点卡 ...

  10. 蓝桥杯 试题 算法训练 娜神平衡 C++ 详解

    问题描述: 娜娜是一个特别可爱的女孩子,作为学神的她最近在情感方面出现了一点点小问题. 她暗恋的琦琦是一名学霸,他只喜欢长得漂亮和学习很好的女生. 娜娜学习确实很神,但是她在琦琦面前却总是表现不出平时 ...

最新文章

  1. 大型网站技术架构(二)架构模式
  2. linux降低屏幕亮度,降低屏幕亮度,减缓眼疲劳 (linux/windows/firefox/android)
  3. 编程之基础:数据类型(二)
  4. IntelliJ IDEA使用记录
  5. 为什么工作10年你的工资还不如新来的实习生
  6. LeetCode精讲题 10正则表达式匹配(动态规划)
  7. C语言再学习 -- printf、scanf占位符
  8. boost::describe模块实现打印枚举的测试程序
  9. vue3 element el-tree 默认选中某个节点高亮
  10. win7如何不用点击用户名 直接自动登录桌面
  11. Sybase ASE15.7静默安装
  12. 损失函数的意义和作用_BN究竟起了什么作用?一个闭门造车的分析
  13. Swing组件集合的事件处理(三)
  14. Java经典基础项目——《学生教务系统》立项需求说明书
  15. 锐龙R3-3100配什么主板
  16. convolutional LSTM(convLSTM)的pytorch版本代码实现
  17. CIO40: IT男之日常工作(点线面体)
  18. 基于PaddleOCR识别火车票信息
  19. Please ensure you can make a proper https connection to the IAP for TCP hostname:https://tunnel.clou
  20. 分享快看点助手APK和源代码

热门文章

  1. ARKit 和 ARCore剖析、结构、原理介绍
  2. Atitit mysql 存储kv 以及php js接口目录kv_mysql.js 1Set.php 1Get.php 2CREATE TABLE `cfg` ( `k`
  3. Atitit 提升效率 声明式编程 约束式编程 目录 1. 。 在约束编程中,问题被视为对可能是有效解决方案的一系列限制。 1 2. 常见的约束式编程 2 2.1. 数据库约束 注解 2 2.2.
  4. Atitit nlp文本挖掘和自然语言处理方面,常用的算法总结 比如tf-idf 目录 1.1. tf:词频,是指某个词在某篇文章中出现的频率 2 1.2. 去停用词算法 2 1.3. idf。
  5. Atitit. 提升存储过程与编程语言的可读性解决方案v3 qc25.docx
  6. Atitit.android webview h5运行环境总结
  7. paip.数据库全文检索 attilax总结
  8. AIS家电行业供应链管理系统综合分析-零部件订货对应分析需求
  9. Rust: 用于量化研究的尝试探讨
  10. 今天,一起吐槽容器镜像中那些让人一言难尽的事情