蓝桥杯-未名湖边的烦恼-递归-java
2017-04-16 19:10
393 查看
每年冬天,北大未名湖上都是滑冰的好地方。北大体育组准备了许多冰鞋,可是人太多了,每天下午收工后,常常一双冰鞋都不剩。
每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)
输入格式
两个整数,表示m和n
输出格式
一个整数,表示队伍的排法的方案数。样例输入3 2样例输出5数据规模和约定 m,n∈[0,18]
解题思路:
每个人对于我们只有两种状态
1:还鞋 2:租鞋
所以对于每种排列必须满足以下条件
1:还鞋的总人数为m
2:租鞋的总人数为n
3:在排列的任意一个位置
(1):如果此位置是还鞋的
那么前面的还鞋总人数要大于等于租鞋的总人数
(2):如果此位置是租鞋的
那么前面的还鞋总人数要大于租鞋的总人数
以下是代码:
import java.util.Scanner;
public class Main {
public static int sum ;
public static int m;
public static int n;
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
sum = 0;
m = scanner.nextInt();
n = scanner.nextInt();
f(1,0,m+n-1);
System.out.println(sum);
}
}
private static void f(int j, int k, int l) {
// TODO 自动生成的方法存根
if (l>=0) {
if (l==0&&j==m&&k==n) {
sum++;
}else {
if (j+1>=k) {
f(j+1, k, l-1);
}
if (j>=k+1) {
f(j, k+1, l-1);
}
}
}
}
}
每天早上,租鞋窗口都会排起长龙,假设有还鞋的m个,有需要租鞋的n个。现在的问题是,这些人有多少种排法,可以避免出现体育组没有冰鞋可租的尴尬场面。(两个同样需求的人(比如都是租鞋或都是还鞋)交换位置是同一种排法)
输入格式
两个整数,表示m和n
输出格式
一个整数,表示队伍的排法的方案数。样例输入3 2样例输出5数据规模和约定 m,n∈[0,18]
解题思路:
每个人对于我们只有两种状态
1:还鞋 2:租鞋
所以对于每种排列必须满足以下条件
1:还鞋的总人数为m
2:租鞋的总人数为n
3:在排列的任意一个位置
(1):如果此位置是还鞋的
那么前面的还鞋总人数要大于等于租鞋的总人数
(2):如果此位置是租鞋的
那么前面的还鞋总人数要大于租鞋的总人数
以下是代码:
import java.util.Scanner;
public class Main {
public static int sum ;
public static int m;
public static int n;
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner scanner = new Scanner(System.in);
while (scanner.hasNext()) {
sum = 0;
m = scanner.nextInt();
n = scanner.nextInt();
f(1,0,m+n-1);
System.out.println(sum);
}
}
private static void f(int j, int k, int l) {
// TODO 自动生成的方法存根
if (l>=0) {
if (l==0&&j==m&&k==n) {
sum++;
}else {
if (j+1>=k) {
f(j+1, k, l-1);
}
if (j>=k+1) {
f(j, k+1, l-1);
}
}
}
}
}
相关文章推荐
- 蓝桥杯ALGO122 未名湖边的烦恼(递归 递推)
- 蓝桥杯 未名湖边的烦恼 引发的递归问题探讨
- 算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
- 蓝桥杯 算法训练 未名湖边的烦恼 (Java解题)
- 蓝桥杯 未名湖的烦恼(递归)
- 蓝桥杯 未名湖边的烦恼 (递归)
- 蓝桥杯--算法训练 未名湖边的烦恼 (递归)
- 蓝桥杯 - 未名湖边的烦恼(递归)
- 蓝桥杯--算法训练 未名湖边的烦恼 (递归)
- 蓝桥杯算法训练——未名湖边的烦恼 (递归)
- 蓝桥杯-未名湖边的烦恼(java)
- 蓝桥杯--未名湖边的烦恼 --- 递归
- 算法-蓝桥杯-算法训练 未名湖边的烦恼 (JAVA)
- 蓝桥杯 算法训练 未名湖边的烦恼 (递推,递归)
- ♥蓝桥杯 ALGO-122 未名湖边的烦恼【排列组合】
- 蓝桥杯 未名湖边的烦恼 (简单暴力dfs)
- 未名湖边的烦恼-蓝桥杯算法训练题-递推/递归
- 蓝桥杯 ALGO-150 算法训练 6-1 递归求二项式系数值 java版
- 蓝桥杯-幂方分解-递归-Java
- 未名湖的烦恼的递归问题