题目:
对例子分析:(用1代表还,2代表借)
1 2 1 2 1
1 2 1 1 2
1 1 2 1 2
1 1 2 2 1
1 1 1 2 2
思路:
1,对特殊情况分析。当m<n时,情况为0.;当没有租鞋者(n==0),情况为1.
2,排在第一个的肯定是还鞋的。剩下的m+n-1种情况用递归来做。
如果第二个是还鞋的,那么有GetResult(m-1,n)种情况
如果第二个是借鞋的,那么有GetResult(m,n-1)种情况
总数就是以上两个的和
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int m=in.nextInt();
int n=in.nextInt();
System.out.println(GetResult(m,n));
}
public static int GetResult(int m,int n) {
if(m<n)
return 0;
if(n==0)
return 1;
return GetResult(m-1,n)+GetResult(m,n-1);
}
}