从最后一位开始考虑,最后一位是还鞋的一种情况,是借鞋的一种情况
#include<iostream>
using namespace std;
int main()
{ int judge(int m,int n);
int m,n;
cin>>m>>n;
cout<<judge(m,n);
}
int judge(int m,int n){
if(n==0) //没有借鞋的一定完成排列,返回1
return 1;
else if(n>m)//当借鞋的比还鞋的多时无法完成排列,返回0
return 0;
else
return judge(m-1,n)+judge(m,n-1);//记录最后一位是还鞋的和借鞋的两种情况
}