算法训练 未名湖边的烦恼
Problem:
Hint:
有(m+n)个人进行排队,首先如果m<n那么肯定是0种排法,因为不管你怎么排,鞋子都是不够的
若m>=n的话,有两种可能,先让还鞋的在前面或者是让借鞋的在前面
考虑递归的边界状态是n=0的时候,这时候只有一种排法
AcCode:
import java.util.Scanner;
public class Main{
public static int getNum(int m,int n) {
if(n>m) {
return 0;
}else if(n==0) {
return 1;
}else {
return getNum(m-1, n)+getNum(m, n-1);
}
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int m = in.nextInt();
int n = in.nextInt();
System.out.println(getNum(m, n));
}
}